Castor3D 0.15.0
Multiplatform 3D engine
|
#include <PassComponent.hpp>
Fonctions membres publiques | |
PassComponentsShader (PassComponentPlugin const &plugin) | |
virtual C3D_API void | fillComponents (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 | computeTexcoord (PipelineFlags const &flags, TextureConfigData const &config, sdw::U32Vec3 const &imgCompConfig, sdw::CombinedImage2DRgba32 const &map, sdw::Vec3 &texCoords, sdw::Vec2 &texCoord, BlendComponents &components) const |
Utilise ce composant pour altérer les coordonnées de texture. | |
virtual C3D_API void | computeTexcoord (PipelineFlags const &flags, TextureConfigData const &config, sdw::U32Vec3 const &imgCompConfig, sdw::CombinedImage2DRgba32 const &map, DerivTex &texCoords, DerivTex &texCoord, BlendComponents &components) const |
Utilise ce composant pour altérer les coordonnées de texture. | |
virtual C3D_API void | applyComponents (TextureCombine const &combine, PipelineFlags const *flags, shader::TextureConfigData const &config, sdw::U32Vec3 const &imgCompConfig, sdw::Vec4 const &sampled, 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 (TextureCombine const &combine, shader::BlendComponents &components) 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 |
virtual C3D_API void | updateOutputs (sdw::StructInstance const &components, sdw::StructInstance const &surface, sdw::Vec4 &spcRgh, sdw::Vec4 &colMtl, sdw::Vec4 &sheen) const |
Met à jour les valeurs nécessaires à l'éclairage (specular, metalness, roughness et colour). | |
Fonctions membres protégées | |
C3D_API void | applyFloatComponent (std::string const &name, PassComponentTextureFlag flag, shader::TextureConfigData const &config, sdw::U32Vec3 const &imgCompConfig, sdw::Vec4 const &sampled, shader::BlendComponents &components) const |
C3D_API void | applyVec3Component (std::string const &name, PassComponentTextureFlag flag, shader::TextureConfigData const &config, sdw::U32Vec3 const &imgCompConfig, sdw::Vec4 const &sampled, shader::BlendComponents &components) const |
|
inlineexplicit |
|
inlinevirtual |
Remplit les valeurs de ce composant avec des données récupérées depuis une texture.
[in] | combine | Utilisé pour vérifier si les textures du composant sont activées. |
[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] | components | Contient les membres du composant. |
Réimplémentée dans castor3d::AttenuationMapComponent::ComponentsShader, castor3d::ClearcoatMapComponent::ComponentsShader, castor3d::ClearcoatNormalMapComponent::ComponentsShader, castor3d::ClearcoatRoughnessMapComponent::ComponentsShader, castor3d::ColourMapComponent::ComponentsShader, castor3d::EmissiveMapComponent::ComponentsShader, castor3d::GlossinessMapComponent::ComponentsShader, castor3d::IridescenceMapComponent::ComponentsShader, castor3d::IridescenceThicknessMapComponent::ComponentsShader, castor3d::MetalnessMapComponent::ComponentsShader, castor3d::NormalMapComponent::ComponentsShader, castor3d::OcclusionMapComponent::ComponentsShader, castor3d::OpacityMapComponent::ComponentsShader, castor3d::RoughnessMapComponent::ComponentsShader, castor3d::SheenMapComponent::ComponentsShader, castor3d::SheenRoughnessMapComponent::ComponentsShader, castor3d::SpecularFactorMapComponent::ComponentsShader, castor3d::SpecularMapComponent::ComponentsShader, castor3d::TransmissionMapComponent::ComponentsShader, et castor3d::TransmittanceMapComponent::ComponentsShader.
|
protected |
|
protected |
|
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::SubsurfaceScatteringComponent::ComponentsShader, castor3d::ThicknessComponent::ComponentsShader, castor3d::TransmissionComponent::ComponentsShader, castor3d::OcclusionMapComponent::ComponentsShader, castor3d::TransmittanceMapComponent::ComponentsShader, castor3d::AlphaTestComponent::ComponentsShader, castor3d::ColourComponent::ComponentsShader, castor3d::HeightComponent::ComponentsShader, castor3d::OpacityComponent::ComponentsShader, castor3d::ReflectionComponent::ComponentsShader, et castor3d::RefractionComponent::ComponentsShader.
|
inlinevirtual |
Utilise ce composant pour altérer les coordonnées de 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] | map | La texture à utiliser. |
[in] | texCoords | Les coordonnées de texture 3D. |
[in] | texCoord | Les coordonnées de texture 2D. |
[in] | components | Contient les membres du composant. |
Réimplémentée dans castor3d::HeightMapComponent::ComponentsShader.
|
inlinevirtual |
Utilise ce composant pour altérer les coordonnées de 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] | map | La texture à utiliser. |
[in] | texCoords | Les coordonnées de texture 3D. |
[in] | texCoord | Les coordonnées de texture 2D. |
[in] | components | Contient les membres du composant. |
Réimplémentée dans castor3d::HeightMapComponent::ComponentsShader.
|
inlinevirtual |
Remplit la structure shader de composants avec les membres fournis par ce composant.
[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::SubsurfaceScatteringComponent::ComponentsShader, castor3d::ThicknessComponent::ComponentsShader, castor3d::TransmissionComponent::ComponentsShader, castor3d::OcclusionMapComponent::ComponentsShader, castor3d::TransmittanceMapComponent::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::SubsurfaceScatteringComponent::ComponentsShader, castor3d::ThicknessComponent::ComponentsShader, castor3d::TransmissionComponent::ComponentsShader, castor3d::OcclusionMapComponent::ComponentsShader, castor3d::TransmittanceMapComponent::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] | combine | Utilisé pour vérifier si les textures du composant sont activées. |
[in,out] | components | Contient les membres du composant. |