Castor3D 0.16.0
Multiplatform 3D engine
|
#include <PassComponent.hpp>
Fonctions membres publiques | |
C3D_API | PassComponentsShader (PassComponentPlugin const &plugin) |
virtual C3D_API void | fillComponents (ComponentModeFlags componentsMask, sdw::type::BaseStruct &components, Materials const &materials, sdw::StructInstance const *surface) const |
Remplit la structure shader de composants avec les membres fournis par ce composant. | |
virtual C3D_API void | fillComponentsInits (sdw::type::BaseStruct const &components, Materials const &materials, Material const *material, sdw::StructInstance const *surface, sdw::Vec4 const *clrCot, sdw::expr::ExprList &inits) const |
Remplit les initialiseurs de la structure shader de composants avec les ceux fournis par ce composant. | |
virtual C3D_API void | applyComponents (PipelineFlags const *flags, shader::TextureConfigData const &config, sdw::U32Vec3 const &imgCompConfig, sdw::Vec4 const &sampled, sdw::Vec2 const &uv, BlendComponents &components) const |
Remplit les valeurs de ce composant avec des données récupérées depuis une texture. | |
virtual C3D_API void | blendComponents (shader::Materials const &materials, sdw::Float const &passMultiplier, BlendComponents &res, BlendComponents const &src) const |
Utilisé pour mixer les composant quand plusieurs passes sont fusionnées ensemble. | |
virtual C3D_API void | updateComponent (sdw::Array< sdw::CombinedImage2DRgba32 > const &maps, shader::Material const &material, shader::BlendComponents &components, bool isFrontCulled) const |
virtual C3D_API sdw::Vec4 | sampleMap (sdw::CombinedImage2DRgba32 const &map, sdw::Vec3 const &texCoords, shader::BlendComponents const &components) const |
virtual C3D_API sdw::Vec4 | sampleMap (sdw::CombinedImage2DRgba32 const &map, shader::DerivTex const &texCoords, shader::BlendComponents const &components) const |
virtual C3D_API bool | isMapSampling (PipelineFlags const &flags) const |
Getters. | |
C3D_API PassComponentID | getId () const |
PassComponentPlugin const & | getPlugin () const |
Fonctions membres publiques hérités de castor3d::shader::PassShader | |
PassShader ()=default | |
PassShader (PassShader const &)=delete | |
PassShader & | operator= (PassShader const &)=delete |
C3D_API | PassShader (PassShader &&)=default |
C3D_API PassShader & | operator= (PassShader &&)=default |
virtual C3D_API | ~PassShader ()=default |
Fonctions membres protégées | |
C3D_API void | applyFloatComponent (castor::String const &mapName, castor::String const &valueName, PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const |
C3D_API void | applyVec3Component (castor::String const &mapName, castor::String const &valueName, PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const |
void | applyFloatComponent (castor::String const &valueName, PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const |
void | applyVec3Component (castor::String const &valueName, PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const |
|
inlineexplicit |
|
inlinevirtual |
Remplit les valeurs de ce composant avec des données récupérées depuis une texture.
[in] | flags | Utilisé pour vérifier si la passe de rendu est configurée pour que le composant soit utilisable. |
[in] | config | Utilisé pour dire si la texture a la configuration pour ce composant. |
[in] | imgCompConfig | Les composantes de l'image à utiliser. |
[in] | sampled | Les données récupérées depuis la texture. |
[in] | uv | Les coordonnées de texture utilisées pour récupérer sampled . |
[in] | components | Contient les membres du composant. |
|
protected |
|
inlineprotected |
|
protected |
|
inlineprotected |
|
inlinevirtual |
Utilisé pour mixer les composant quand plusieurs passes sont fusionnées ensemble.
[in] | materials | Utilisé pour vérifier si la passe de rendu courante a besoin de ce composant. |
[in] | passMultiplier | Le facteur de la passe courant. |
[in,out] | res | Reçoit le résultat du blending. |
[in] | src | Les données de la passe courante. |
Réimplémentée dans castor3d::NormalComponent::ComponentsShader, castor3d::TexturesComponent::ComponentsShader, castor3d::AmbientComponent::ComponentsShader, castor3d::AttenuationComponent::ComponentsShader, castor3d::ClearcoatComponent::ComponentsShader, castor3d::EmissiveComponent::ComponentsShader, castor3d::IridescenceComponent::ComponentsShader, castor3d::MetalnessComponent::ComponentsShader, castor3d::RoughnessComponent::ComponentsShader, castor3d::SheenComponent::ComponentsShader, castor3d::SpecularComponent::ComponentsShader, castor3d::SpecularFactorComponent::ComponentsShader, castor3d::SubsurfaceScatteringComponent::ComponentsShader, castor3d::ThicknessComponent::ComponentsShader, castor3d::TransmissionComponent::ComponentsShader, castor3d::TransmittanceComponent::ComponentsShader, castor3d::OcclusionMapComponent::ComponentsShader, castor3d::AlphaTestComponent::ComponentsShader, castor3d::ColourComponent::ComponentsShader, castor3d::HeightComponent::ComponentsShader, castor3d::OpacityComponent::ComponentsShader, castor3d::ReflectionComponent::ComponentsShader, et castor3d::RefractionComponent::ComponentsShader.
|
inlinevirtual |
Remplit la structure shader de composants avec les membres fournis par ce composant.
[in] | componentsMask | Utilisé pour déterminer si le composant est valide dans le contexte de l'appel. |
[in,out] | components | Reçoit les membres de la structure. |
[in] | materials | Utilisé pour vérifier si la passe de rendu courante a besoin de ce composant. |
[in] | surface | Utilisés pour vérifier si la surface supporte les données nécessaires pour ce composant. |
Réimplémentée dans castor3d::FractalMappingComponent::ComponentsShader, castor3d::NormalComponent::ComponentsShader, castor3d::TexturesComponent::ComponentsShader, castor3d::AmbientComponent::ComponentsShader, castor3d::AttenuationComponent::ComponentsShader, castor3d::ClearcoatComponent::ComponentsShader, castor3d::EmissiveComponent::ComponentsShader, castor3d::IridescenceComponent::ComponentsShader, castor3d::MetalnessComponent::ComponentsShader, castor3d::RoughnessComponent::ComponentsShader, castor3d::SheenComponent::ComponentsShader, castor3d::SpecularComponent::ComponentsShader, castor3d::SpecularFactorComponent::ComponentsShader, castor3d::SubsurfaceScatteringComponent::ComponentsShader, castor3d::ThicknessComponent::ComponentsShader, castor3d::TransmissionComponent::ComponentsShader, castor3d::TransmittanceComponent::ComponentsShader, castor3d::OcclusionMapComponent::ComponentsShader, castor3d::AlphaTestComponent::ComponentsShader, castor3d::ColourComponent::ComponentsShader, castor3d::HeightComponent::ComponentsShader, castor3d::OpacityComponent::ComponentsShader, castor3d::ReflectionComponent::ComponentsShader, et castor3d::RefractionComponent::ComponentsShader.
|
inlinevirtual |
Remplit les initialiseurs de la structure shader de composants avec les ceux fournis par ce composant.
[in] | components | Reçoit les membres de la structure. |
[in] | materials | Utilisé pour vérifier si la passe de rendu courante a besoin de ce composant. |
[in] | material | Utilisé pour récupérer les données pour ce composant. |
[in] | surface | Utilisé pour récupérer les données pour ce composant. |
[in] | clrCot | Utilisé pour récupérer les données pour ce composant. |
[in,out] | inits | Reçoit les initialiseurs |
Réimplémentée dans castor3d::FractalMappingComponent::ComponentsShader, castor3d::NormalComponent::ComponentsShader, castor3d::TexturesComponent::ComponentsShader, castor3d::AmbientComponent::ComponentsShader, castor3d::AttenuationComponent::ComponentsShader, castor3d::ClearcoatComponent::ComponentsShader, castor3d::EmissiveComponent::ComponentsShader, castor3d::IridescenceComponent::ComponentsShader, castor3d::MetalnessComponent::ComponentsShader, castor3d::RoughnessComponent::ComponentsShader, castor3d::SheenComponent::ComponentsShader, castor3d::SpecularComponent::ComponentsShader, castor3d::SpecularFactorComponent::ComponentsShader, castor3d::SubsurfaceScatteringComponent::ComponentsShader, castor3d::ThicknessComponent::ComponentsShader, castor3d::TransmissionComponent::ComponentsShader, castor3d::TransmittanceComponent::ComponentsShader, castor3d::OcclusionMapComponent::ComponentsShader, castor3d::AlphaTestComponent::ComponentsShader, castor3d::ColourComponent::ComponentsShader, castor3d::HeightComponent::ComponentsShader, castor3d::OpacityComponent::ComponentsShader, castor3d::ReflectionComponent::ComponentsShader, et castor3d::RefractionComponent::ComponentsShader.
C3D_API PassComponentID castor3d::shader::PassComponentsShader::getId | ( | ) | const |
Référencé par castor3d::AttenuationMapComponent::ComponentsShader::getTextureFlags(), castor3d::ClearcoatMapComponent::ComponentsShader::getTextureFlags(), castor3d::ClearcoatNormalMapComponent::ComponentsShader::getTextureFlags(), castor3d::ClearcoatRoughnessMapComponent::ComponentsShader::getTextureFlags(), castor3d::ColourMapComponent::ComponentsShader::getTextureFlags(), castor3d::EmissiveMapComponent::ComponentsShader::getTextureFlags(), castor3d::GlossinessMapComponent::ComponentsShader::getTextureFlags(), castor3d::HeightMapComponent::ComponentsShader::getTextureFlags(), castor3d::IridescenceMapComponent::ComponentsShader::getTextureFlags(), castor3d::IridescenceThicknessMapComponent::ComponentsShader::getTextureFlags(), castor3d::MetalnessMapComponent::ComponentsShader::getTextureFlags(), castor3d::NormalMapComponent::ComponentsShader::getTextureFlags(), castor3d::OcclusionMapComponent::ComponentsShader::getTextureFlags(), castor3d::OpacityMapComponent::ComponentsShader::getTextureFlags(), castor3d::RoughnessMapComponent::ComponentsShader::getTextureFlags(), castor3d::SheenMapComponent::ComponentsShader::getTextureFlags(), castor3d::SheenRoughnessMapComponent::ComponentsShader::getTextureFlags(), castor3d::SpecularFactorMapComponent::ComponentsShader::getTextureFlags(), castor3d::SpecularMapComponent::ComponentsShader::getTextureFlags(), castor3d::TransmissionMapComponent::ComponentsShader::getTextureFlags(), castor3d::TransmittanceMapComponent::ComponentsShader::getTextureFlags(), castor3d::FractalMappingComponent::ComponentsShader::isMapSampling(), et castor3d::UntileMappingComponent::ComponentsShader::isMapSampling().
|
inline |
|
inlinevirtual |
true
si l'échantillonnage de texture du composant est utilisable par rapport à flags
. Réimplémentée dans castor3d::FractalMappingComponent::ComponentsShader, et castor3d::UntileMappingComponent::ComponentsShader.
|
virtual |
Laisse le composant échantillonner la texture.
[in] | map | La texture. |
[in] | texCoords | Les coordonnées de texture. |
[in] | components | Contient les membres du composants. |
Réimplémentée dans castor3d::FractalMappingComponent::ComponentsShader, et castor3d::UntileMappingComponent::ComponentsShader.
|
virtual |
Laisse le composant échantillonner la texture.
[in] | map | La texture. |
[in] | texCoords | Les coordonnées de texture. |
[in] | components | Contient les membres du composants. |
Réimplémentée dans castor3d::FractalMappingComponent::ComponentsShader, et castor3d::UntileMappingComponent::ComponentsShader.
|
inlinevirtual |
Ajuste les données du composant après que les textures ont été traitées.
[in] | maps | Contient les images des passes de matériau. |
[in] | material | Les données du matériau. |
[in,out] | components | Contient les membres du composant. |
[in] | isFrontCulled | Dit si ce shader est pour les objets front culled. |
Réimplémentée dans castor3d::MetalnessComponent::ComponentsShader.