Castor3D 0.16.0
Multiplatform 3D engine
Fonctions membres publiques | Fonctions membres protégées | Liste de tous les membres
Référence de la structure castor3d::shader::PassComponentsShader

#include <PassComponent.hpp>

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

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
 
PassShaderoperator= (PassShader const &)=delete
 
C3D_API PassShader (PassShader &&)=default
 
C3D_API PassShaderoperator= (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
 

Documentation des constructeurs et destructeur

◆ PassComponentsShader()

C3D_API castor3d::shader::PassComponentsShader::PassComponentsShader ( PassComponentPlugin const & plugin)
inlineexplicit

Documentation des fonctions membres

◆ applyComponents()

virtual C3D_API void castor3d::shader::PassComponentsShader::applyComponents ( PipelineFlags const * flags,
shader::TextureConfigData const & config,
sdw::U32Vec3 const & imgCompConfig,
sdw::Vec4 const & sampled,
sdw::Vec2 const & uv,
BlendComponents & components ) const
inlinevirtual

Remplit les valeurs de ce composant avec des données récupérées depuis une texture.

Paramètres
[in]flagsUtilisé pour vérifier si la passe de rendu est configurée pour que le composant soit utilisable.
[in]configUtilisé pour dire si la texture a la configuration pour ce composant.
[in]imgCompConfigLes composantes de l'image à utiliser.
[in]sampledLes données récupérées depuis la texture.
[in]uvLes coordonnées de texture utilisées pour récupérer sampled.
[in]componentsContient les membres du composant.

◆ applyFloatComponent() [1/2]

C3D_API void castor3d::shader::PassComponentsShader::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
protected

Référencé par applyFloatComponent().

Voici le graphe des appelants de cette fonction :

◆ applyFloatComponent() [2/2]

void castor3d::shader::PassComponentsShader::applyFloatComponent ( castor::String const & valueName,
PassShaders const & passShaders,
TextureConfigurations const & textureConfigs,
TextureAnimations const & textureAnims,
Material const & material,
BlendComponents & components,
SampleTexture const & sampleTexture ) const
inlineprotected

Références applyFloatComponent().

Voici le graphe d'appel pour cette fonction :

◆ applyVec3Component() [1/2]

C3D_API void castor3d::shader::PassComponentsShader::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
protected

Référencé par applyVec3Component().

Voici le graphe des appelants de cette fonction :

◆ applyVec3Component() [2/2]

void castor3d::shader::PassComponentsShader::applyVec3Component ( castor::String const & valueName,
PassShaders const & passShaders,
TextureConfigurations const & textureConfigs,
TextureAnimations const & textureAnims,
Material const & material,
BlendComponents & components,
SampleTexture const & sampleTexture ) const
inlineprotected

Références applyVec3Component().

Voici le graphe d'appel pour cette fonction :

◆ blendComponents()

virtual C3D_API void castor3d::shader::PassComponentsShader::blendComponents ( shader::Materials const & materials,
sdw::Float const & passMultiplier,
BlendComponents & res,
BlendComponents const & src ) const
inlinevirtual

◆ fillComponents()

virtual C3D_API void castor3d::shader::PassComponentsShader::fillComponents ( ComponentModeFlags componentsMask,
sdw::type::BaseStruct & components,
Materials const & materials,
sdw::StructInstance const * surface ) const
inlinevirtual

Remplit la structure shader de composants avec les membres fournis par ce composant.

Paramètres
[in]componentsMaskUtilisé pour déterminer si le composant est valide dans le contexte de l'appel.
[in,out]componentsReçoit les membres de la structure.
[in]materialsUtilisé pour vérifier si la passe de rendu courante a besoin de ce composant.
[in]surfaceUtilisé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.

◆ fillComponentsInits()

virtual C3D_API void castor3d::shader::PassComponentsShader::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
inlinevirtual

Remplit les initialiseurs de la structure shader de composants avec les ceux fournis par ce composant.

Remarques
Le nombre et l'ordre des initialiseurs doit correspondre à celui défini par fillComponent.
Paramètres
[in]componentsReçoit les membres de la structure.
[in]materialsUtilisé pour vérifier si la passe de rendu courante a besoin de ce composant.
[in]materialUtilisé pour récupérer les données pour ce composant.
[in]surfaceUtilisé pour récupérer les données pour ce composant.
[in]clrCotUtilisé pour récupérer les données pour ce composant.
[in,out]initsReç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.

◆ getId()

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().

Voici le graphe des appelants de cette fonction :

◆ getPlugin()

PassComponentPlugin const & castor3d::shader::PassComponentsShader::getPlugin ( ) const
inline

◆ isMapSampling()

virtual C3D_API bool castor3d::shader::PassComponentsShader::isMapSampling ( PipelineFlags const & flags) const
inlinevirtual
Renvoie
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.

◆ sampleMap() [1/2]

virtual C3D_API sdw::Vec4 castor3d::shader::PassComponentsShader::sampleMap ( sdw::CombinedImage2DRgba32 const & map,
sdw::Vec3 const & texCoords,
shader::BlendComponents const & components ) const
virtual

Laisse le composant échantillonner la texture.

Paramètres
[in]mapLa texture.
[in]texCoordsLes coordonnées de texture.
[in]componentsContient les membres du composants.

Réimplémentée dans castor3d::FractalMappingComponent::ComponentsShader, et castor3d::UntileMappingComponent::ComponentsShader.

◆ sampleMap() [2/2]

virtual C3D_API sdw::Vec4 castor3d::shader::PassComponentsShader::sampleMap ( sdw::CombinedImage2DRgba32 const & map,
shader::DerivTex const & texCoords,
shader::BlendComponents const & components ) const
virtual

Laisse le composant échantillonner la texture.

Paramètres
[in]mapLa texture.
[in]texCoordsLes coordonnées de texture.
[in]componentsContient les membres du composants.

Réimplémentée dans castor3d::FractalMappingComponent::ComponentsShader, et castor3d::UntileMappingComponent::ComponentsShader.

◆ updateComponent()

virtual C3D_API void castor3d::shader::PassComponentsShader::updateComponent ( sdw::Array< sdw::CombinedImage2DRgba32 > const & maps,
shader::Material const & material,
shader::BlendComponents & components,
bool isFrontCulled ) const
inlinevirtual

Ajuste les données du composant après que les textures ont été traitées.

Paramètres
[in]mapsContient les images des passes de matériau.
[in]materialLes données du matériau.
[in,out]componentsContient les membres du composant.
[in]isFrontCulledDit si ce shader est pour les objets front culled.

Réimplémentée dans castor3d::MetalnessComponent::ComponentsShader.


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