Castor3D 0.16.0
Multiplatform 3D engine
Liste de tous les membres
Référence de la classe castor3d::PassComponentRegister

#include <PassComponentRegister.hpp>

Graphe d'héritage de castor3d::PassComponentRegister:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::PassComponentRegister:
Collaboration graph
[légende]

Fonctions membres publiques

Construction / Destruction.

 PassComponentRegister (PassComponentRegister const &)=delete
 
 PassComponentRegister (PassComponentRegister &&) noexcept=delete
 
PassComponentRegisteroperator= (PassComponentRegister const &)=delete
 
PassComponentRegisteroperator= (PassComponentRegister &&) noexcept=delete
 
C3D_API PassComponentRegister (Engine &engine)
 
C3D_API ~PassComponentRegister () noexcept
 

Enregistrement de type de passe.

C3D_API PassComponentCombine registerPassComponentCombine (Pass const &pass)
 
C3D_API PassComponentCombineID registerPassComponentCombine (PassComponentCombine &combine)
 
C3D_API PassComponentCombineID getPassComponentCombineID (PassComponentCombine const &combine) const
 
C3D_API TextureCombineID getTextureCombineID (TextureCombine const &combine) const
 
C3D_API PassComponentCombine getPassComponentCombine (Pass const &pass) const
 
C3D_API PassComponentCombine getPassComponentCombine (PassComponentCombineID id) const
 
C3D_API TextureCombine getTextureCombine (Pass const &pass) const
 
C3D_API TextureCombine getTextureCombine (TextureCombineID id) const
 

Gestion des composants de matériau shader.

C3D_API void fillBuffer (Pass const &pass, PassBuffer &buffer) const
 Remplit le pass buffer avec les valeurs d'initialisation.
 
C3D_API shader::PassMaterialShadergetMaterialShader (castor::String const &componentType) const
 
C3D_API void fillMaterial (sdw::type::BaseStruct &material, sdw::expr::ExprList &inits, uint32_t padIndex) const
 
auto const & getMaterialShaders () const
 
VkDeviceSize getPassBufferStride () const
 

Gestion des composants de sortie des shaders.

C3D_API castor::Vector< shader::PassComponentsShaderPtrgetComponentsShaders (TextureCombine const &texturesFlags, ComponentModeFlags filter, castor::Vector< UpdateComponent > &updateComponents, castor::Vector< FinishComponent > &finishComponents) const
 
C3D_API castor::Vector< shader::PassComponentsShaderPtrgetComponentsShaders (PipelineFlags const &flags, ComponentModeFlags filter, castor::Vector< UpdateComponent > &updateComponents, castor::Vector< FinishComponent > &finishComponents) const
 

Gestion des composants de sortie des shaders.

C3D_API shader::PassReflRefrShaderPtr getReflRefrShader (PassComponentCombine const &combine) const
 

Gestion des composants de base.

C3D_API PassComponentCombine filterComponentFlags (ComponentModeFlags filter, PassComponentCombine const &combine) const
 
C3D_API bool hasOpacity (PipelineFlags const &flags) const
 
C3D_API bool needsEnvironmentMapping (PassComponentCombineID combineID) const
 
C3D_API bool hasDeferredLighting (PassComponentFlagsSet const &combineID) const
 
PassComponentFlag getAlphaBlendingFlag () const
 
PassComponentFlag getAlphaTestFlag () const
 
PassComponentFlag getTransmissionFlag () const
 
PassComponentFlag getParallaxOcclusionMappingOneFlag () const
 
PassComponentFlag getParallaxOcclusionMappingRepeatFlag () const
 

Gestion des composants de texture.

C3D_API void updateMapComponents (castor::Vector< TextureFlagConfiguration > const &texConfigs, Pass &result)
 Ajoute ou supprime les composants de texture de la passe, selon s'ils sont nécessaires ou pas.
 
C3D_API bool writeTextureConfig (TextureConfiguration const &configuration, castor::String const &tabs, castor::StringStream &file) const
 Ecrit la configuration de texture pour ce composant dans un fichier de scène.
 
C3D_API void fillChannels (PassComponentTextureFlag const &flags, TextureContext &parsingContext) const
 
C3D_API TextureCombine filterTextureFlags (ComponentModeFlags filter, TextureCombine const &combine) const
 
C3D_API PassComponentTextureFlag getColourMapFlags () const
 
C3D_API PassComponentTextureFlag getOpacityMapFlags () const
 
C3D_API PassComponentTextureFlag getNormalMapFlags () const
 
C3D_API PassComponentTextureFlag getHeightMapFlags () const
 
C3D_API PassComponentTextureFlag getOcclusionMapFlags () const
 
C3D_API void fillTextureConfiguration (PassComponentTextureFlag const &flags, TextureConfiguration &result) const
 
C3D_API bool hasTexcoordModif (PassComponentTextureFlag const &flag, PipelineFlags const *flags) const
 
C3D_API castor::Map< uint32_t, PassComponentTextureFlaggetTexcoordModifs (PipelineFlags const &flags) const
 
C3D_API castor::Map< uint32_t, PassComponentTextureFlaggetTexcoordModifs (TextureCombine const &combine) const
 
castor::UInt32StrMap const & getTextureChannels () const
 

Enregistrement des composants.

C3D_API PassComponentID registerComponent (castor::String const &componentType, PassComponentPluginUPtr componentPlugin)
 
C3D_API void unregisterComponent (castor::String const &componentType) noexcept
 
C3D_API PassComponentID getNameId (castor::String const &componentType) const
 
C3D_API PassComponentPlugin const & getPlugin (PassComponentID componentId) const
 
PassComponentPlugin const & getPlugin (castor::String const &componentType) const
 
template<typename ComponentT >
PassComponentPlugin const & getPlugin () const
 
template<typename ComponentT >
PassComponentID registerComponent (CreatePassComponentPlugin const &createPlugin=&ComponentT::createPlugin)
 
auto begin () const noexcept
 
auto end () const noexcept
 
- Fonctions membres publiques hérités de castor::OwnedBy< Engine >
Engine * getOwner () const
 L'objet propriétaire.
 

Membres hérités additionnels

- Fonctions membres protégées hérités de castor::OwnedBy< Engine >
 OwnedBy (Engine &owner)
 Constructeur.
 

Documentation des constructeurs et destructeur

◆ PassComponentRegister() [1/3]

castor3d::PassComponentRegister::PassComponentRegister ( PassComponentRegister const & )
delete

◆ PassComponentRegister() [2/3]

castor3d::PassComponentRegister::PassComponentRegister ( PassComponentRegister && )
deletenoexcept

◆ PassComponentRegister() [3/3]

C3D_API castor3d::PassComponentRegister::PassComponentRegister ( Engine & engine)
explicit

◆ ~PassComponentRegister()

C3D_API castor3d::PassComponentRegister::~PassComponentRegister ( )
noexcept

Documentation des fonctions membres

◆ begin()

auto castor3d::PassComponentRegister::begin ( ) const
inlinenoexcept

◆ end()

auto castor3d::PassComponentRegister::end ( ) const
inlinenoexcept

◆ fillBuffer()

C3D_API void castor3d::PassComponentRegister::fillBuffer ( Pass const & pass,
PassBuffer & buffer ) const

Remplit le pass buffer avec les valeurs d'initialisation.

Paramètres
[in,out]bufferLe pass buffer.
[in]passLa passe, pour ne pas initialiser les données de ses composants actifs.

◆ fillChannels()

C3D_API void castor3d::PassComponentRegister::fillChannels ( PassComponentTextureFlag const & flags,
TextureContext & parsingContext ) const

◆ fillMaterial()

C3D_API void castor3d::PassComponentRegister::fillMaterial ( sdw::type::BaseStruct & material,
sdw::expr::ExprList & inits,
uint32_t padIndex ) const

◆ fillTextureConfiguration()

C3D_API void castor3d::PassComponentRegister::fillTextureConfiguration ( PassComponentTextureFlag const & flags,
TextureConfiguration & result ) const

◆ filterComponentFlags()

C3D_API PassComponentCombine castor3d::PassComponentRegister::filterComponentFlags ( ComponentModeFlags filter,
PassComponentCombine const & combine ) const

◆ filterTextureFlags()

C3D_API TextureCombine castor3d::PassComponentRegister::filterTextureFlags ( ComponentModeFlags filter,
TextureCombine const & combine ) const

◆ getAlphaBlendingFlag()

PassComponentFlag castor3d::PassComponentRegister::getAlphaBlendingFlag ( ) const
inline

◆ getAlphaTestFlag()

PassComponentFlag castor3d::PassComponentRegister::getAlphaTestFlag ( ) const
inline

◆ getColourMapFlags()

C3D_API PassComponentTextureFlag castor3d::PassComponentRegister::getColourMapFlags ( ) const

◆ getComponentsShaders() [1/2]

C3D_API castor::Vector< shader::PassComponentsShaderPtr > castor3d::PassComponentRegister::getComponentsShaders ( PipelineFlags const & flags,
ComponentModeFlags filter,
castor::Vector< UpdateComponent > & updateComponents,
castor::Vector< FinishComponent > & finishComponents ) const

◆ getComponentsShaders() [2/2]

C3D_API castor::Vector< shader::PassComponentsShaderPtr > castor3d::PassComponentRegister::getComponentsShaders ( TextureCombine const & texturesFlags,
ComponentModeFlags filter,
castor::Vector< UpdateComponent > & updateComponents,
castor::Vector< FinishComponent > & finishComponents ) const

◆ getHeightMapFlags()

C3D_API PassComponentTextureFlag castor3d::PassComponentRegister::getHeightMapFlags ( ) const

◆ getMaterialShader()

C3D_API shader::PassMaterialShader * castor3d::PassComponentRegister::getMaterialShader ( castor::String const & componentType) const

◆ getMaterialShaders()

auto const & castor3d::PassComponentRegister::getMaterialShaders ( ) const
inline

◆ getNameId()

C3D_API PassComponentID castor3d::PassComponentRegister::getNameId ( castor::String const & componentType) const

Référencé par getPlugin(), et getPlugin().

Voici le graphe des appelants de cette fonction :

◆ getNormalMapFlags()

C3D_API PassComponentTextureFlag castor3d::PassComponentRegister::getNormalMapFlags ( ) const

◆ getOcclusionMapFlags()

C3D_API PassComponentTextureFlag castor3d::PassComponentRegister::getOcclusionMapFlags ( ) const

◆ getOpacityMapFlags()

C3D_API PassComponentTextureFlag castor3d::PassComponentRegister::getOpacityMapFlags ( ) const

◆ getParallaxOcclusionMappingOneFlag()

PassComponentFlag castor3d::PassComponentRegister::getParallaxOcclusionMappingOneFlag ( ) const
inline

◆ getParallaxOcclusionMappingRepeatFlag()

PassComponentFlag castor3d::PassComponentRegister::getParallaxOcclusionMappingRepeatFlag ( ) const
inline

◆ getPassBufferStride()

VkDeviceSize castor3d::PassComponentRegister::getPassBufferStride ( ) const
inline

◆ getPassComponentCombine() [1/2]

C3D_API PassComponentCombine castor3d::PassComponentRegister::getPassComponentCombine ( Pass const & pass) const

◆ getPassComponentCombine() [2/2]

C3D_API PassComponentCombine castor3d::PassComponentRegister::getPassComponentCombine ( PassComponentCombineID id) const

◆ getPassComponentCombineID()

C3D_API PassComponentCombineID castor3d::PassComponentRegister::getPassComponentCombineID ( PassComponentCombine const & combine) const

◆ getPlugin() [1/3]

template<typename ComponentT >
PassComponentPlugin const & castor3d::PassComponentRegister::getPlugin ( ) const
inline

Références getNameId(), et getPlugin().

Référencé par getPlugin(), et getPlugin().

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ getPlugin() [2/3]

PassComponentPlugin const & castor3d::PassComponentRegister::getPlugin ( castor::String const & componentType) const
inline

Références getNameId(), et getPlugin().

Voici le graphe d'appel pour cette fonction :

◆ getPlugin() [3/3]

C3D_API PassComponentPlugin const & castor3d::PassComponentRegister::getPlugin ( PassComponentID componentId) const

◆ getReflRefrShader()

C3D_API shader::PassReflRefrShaderPtr castor3d::PassComponentRegister::getReflRefrShader ( PassComponentCombine const & combine) const

◆ getTexcoordModifs() [1/2]

C3D_API castor::Map< uint32_t, PassComponentTextureFlag > castor3d::PassComponentRegister::getTexcoordModifs ( PipelineFlags const & flags) const

◆ getTexcoordModifs() [2/2]

C3D_API castor::Map< uint32_t, PassComponentTextureFlag > castor3d::PassComponentRegister::getTexcoordModifs ( TextureCombine const & combine) const

◆ getTextureChannels()

castor::UInt32StrMap const & castor3d::PassComponentRegister::getTextureChannels ( ) const
inline

◆ getTextureCombine() [1/2]

C3D_API TextureCombine castor3d::PassComponentRegister::getTextureCombine ( Pass const & pass) const

◆ getTextureCombine() [2/2]

C3D_API TextureCombine castor3d::PassComponentRegister::getTextureCombine ( TextureCombineID id) const

◆ getTextureCombineID()

C3D_API TextureCombineID castor3d::PassComponentRegister::getTextureCombineID ( TextureCombine const & combine) const

◆ getTransmissionFlag()

PassComponentFlag castor3d::PassComponentRegister::getTransmissionFlag ( ) const
inline

◆ hasDeferredLighting()

C3D_API bool castor3d::PassComponentRegister::hasDeferredLighting ( PassComponentFlagsSet const & combineID) const

◆ hasOpacity()

C3D_API bool castor3d::PassComponentRegister::hasOpacity ( PipelineFlags const & flags) const

◆ hasTexcoordModif()

C3D_API bool castor3d::PassComponentRegister::hasTexcoordModif ( PassComponentTextureFlag const & flag,
PipelineFlags const * flags ) const

◆ needsEnvironmentMapping()

C3D_API bool castor3d::PassComponentRegister::needsEnvironmentMapping ( PassComponentCombineID combineID) const

◆ operator=() [1/2]

PassComponentRegister & castor3d::PassComponentRegister::operator= ( PassComponentRegister && )
deletenoexcept

◆ operator=() [2/2]

PassComponentRegister & castor3d::PassComponentRegister::operator= ( PassComponentRegister const & )
delete

◆ registerComponent() [1/2]

C3D_API PassComponentID castor3d::PassComponentRegister::registerComponent ( castor::String const & componentType,
PassComponentPluginUPtr componentPlugin )

Référencé par registerComponent().

Voici le graphe des appelants de cette fonction :

◆ registerComponent() [2/2]

template<typename ComponentT >
PassComponentID castor3d::PassComponentRegister::registerComponent ( CreatePassComponentPlugin const & createPlugin = &ComponentT::createPlugin)
inline

Références registerComponent().

Voici le graphe d'appel pour cette fonction :

◆ registerPassComponentCombine() [1/2]

C3D_API PassComponentCombine castor3d::PassComponentRegister::registerPassComponentCombine ( Pass const & pass)

◆ registerPassComponentCombine() [2/2]

C3D_API PassComponentCombineID castor3d::PassComponentRegister::registerPassComponentCombine ( PassComponentCombine & combine)

◆ unregisterComponent()

C3D_API void castor3d::PassComponentRegister::unregisterComponent ( castor::String const & componentType)
noexcept

◆ updateMapComponents()

C3D_API void castor3d::PassComponentRegister::updateMapComponents ( castor::Vector< TextureFlagConfiguration > const & texConfigs,
Pass & result )

Ajoute ou supprime les composants de texture de la passe, selon s'ils sont nécessaires ou pas.

Paramètres
[in]texConfigsUtilisé pour déterminer si un composant de texture est nécessaire.
[in,out]resultLa passe.

◆ writeTextureConfig()

C3D_API bool castor3d::PassComponentRegister::writeTextureConfig ( TextureConfiguration const & configuration,
castor::String const & tabs,
castor::StringStream & file ) const

Ecrit la configuration de texture pour ce composant dans un fichier de scène.

Paramètres
[in]configurationContient les données de configuration de texture de ce composant.
[in]tabsLe niveau d'indentation dans le fichier de sortie.
[in]fileLe fichier de sortie.

La documentation de cette classe a été générée à partir du fichier suivant :