Castor3D 0.17.0
Multiplatform 3D engine
Public Member Functions | Protected Member Functions | List of all members
castor3d::shader::PassMapComponentsShader Struct Referenceabstract

#include <PassMapComponent.hpp>

Inheritance diagram for castor3d::shader::PassMapComponentsShader:
Inheritance graph
[legend]
Collaboration diagram for castor3d::shader::PassMapComponentsShader:
Collaboration graph
[legend]

Public Member Functions

virtual C3D_API void applyTexture (PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, sdw::Array< sdw::CombinedImage2DRgba32 > const &maps, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const =0
 
C3D_API PassComponentsShader (PassComponentPlugin const &plugin)
 
- Public Member Functions inherited from castor3d::shader::PassComponentsShader
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
 Fills the components shader struct with the members provided by this component.
 
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
 Fills the components shader struct members initialiser with the ones provided by this component.
 
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
 Fills this component's values with the data retrieved from a texture.
 
virtual C3D_API void blendComponents (shader::Materials const &materials, sdw::Float const &passMultiplier, BlendComponents &res, BlendComponents const &src) const
 Used to mix components when multiple passes are blended together.
 
virtual C3D_API void updateComponent (sdw::Array< sdw::CombinedImage2DRgba32 > const &maps, shader::Material const &material, shader::BlendComponents &components, bool isFrontCulled) const
 
virtual C3D_API void finishComponent (shader::DerivSurfaceBase const &surface, shader::CameraData const &camera, shader::ModelData const &model, shader::Utils &utils, 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
 
C3D_API PassComponentID getId () const
 
PassComponentPlugin const & getPlugin () const
 
- Public Member Functions inherited from 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
 

Protected Member Functions

C3D_API sdw::Float loadFloatComponent (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 sdw::Vec2 loadVec2Component (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 sdw::Vec3 loadVec3Component (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 sdw::Vec4 loadVec4Component (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
 
sdw::Float loadFloatComponent (castor::String const &valueName, PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const
 
sdw::Vec2 loadVec2Component (castor::String const &valueName, PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const
 
sdw::Vec3 loadVec3Component (castor::String const &valueName, PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const
 
sdw::Vec4 loadVec4Component (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 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 applyVec2Component (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
 
C3D_API void applyVec4Component (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 applyVec2Component (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
 
void applyVec4Component (castor::String const &valueName, PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const
 
sdw::Float doLoadFloatComponent (castor::MbString const &mbMapName, castor::MbString const &mbValueName, castor::MbString const &textureName, PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const
 
sdw::Vec2 doLoadVec2Component (castor::MbString const &mbMapName, castor::MbString const &mbValueName, castor::MbString const &textureName, PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const
 
sdw::Vec3 doLoadVec3Component (castor::MbString const &mbMapName, castor::MbString const &mbValueName, castor::MbString const &textureName, PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const
 
sdw::Vec4 doLoadVec4Component (castor::MbString const &mbMapName, castor::MbString const &mbValueName, castor::MbString const &textureName, PassShaders const &passShaders, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const
 

Member Function Documentation

◆ applyFloatComponent() [1/2]

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

Referenced by applyFloatComponent().

Here is the caller graph for this function:

◆ applyFloatComponent() [2/2]

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

References applyFloatComponent().

Here is the call graph for this function:

◆ applyTexture()

virtual C3D_API void castor3d::shader::PassMapComponentsShader::applyTexture ( PassShaders const & passShaders,
TextureConfigurations const & textureConfigs,
TextureAnimations const & textureAnims,
sdw::Array< sdw::CombinedImage2DRgba32 > const & maps,
Material const & material,
BlendComponents & components,
SampleTexture const & sampleTexture ) const
pure virtual

◆ applyVec2Component() [1/2]

C3D_API void castor3d::shader::PassMapComponentsShader::applyVec2Component ( 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

Referenced by applyVec2Component().

Here is the caller graph for this function:

◆ applyVec2Component() [2/2]

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

References applyVec2Component().

Here is the call graph for this function:

◆ applyVec3Component() [1/2]

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

Referenced by applyVec3Component().

Here is the caller graph for this function:

◆ applyVec3Component() [2/2]

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

References applyVec3Component().

Here is the call graph for this function:

◆ applyVec4Component() [1/2]

C3D_API void castor3d::shader::PassMapComponentsShader::applyVec4Component ( 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

Referenced by applyVec4Component().

Here is the caller graph for this function:

◆ applyVec4Component() [2/2]

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

References applyVec4Component().

Here is the call graph for this function:

◆ doLoadFloatComponent()

sdw::Float castor3d::shader::PassMapComponentsShader::doLoadFloatComponent ( castor::MbString const & mbMapName,
castor::MbString const & mbValueName,
castor::MbString const & textureName,
PassShaders const & passShaders,
TextureConfigurations const & textureConfigs,
TextureAnimations const & textureAnims,
Material const & material,
BlendComponents & components,
SampleTexture const & sampleTexture ) const
protected

◆ doLoadVec2Component()

sdw::Vec2 castor3d::shader::PassMapComponentsShader::doLoadVec2Component ( castor::MbString const & mbMapName,
castor::MbString const & mbValueName,
castor::MbString const & textureName,
PassShaders const & passShaders,
TextureConfigurations const & textureConfigs,
TextureAnimations const & textureAnims,
Material const & material,
BlendComponents & components,
SampleTexture const & sampleTexture ) const
protected

◆ doLoadVec3Component()

sdw::Vec3 castor3d::shader::PassMapComponentsShader::doLoadVec3Component ( castor::MbString const & mbMapName,
castor::MbString const & mbValueName,
castor::MbString const & textureName,
PassShaders const & passShaders,
TextureConfigurations const & textureConfigs,
TextureAnimations const & textureAnims,
Material const & material,
BlendComponents & components,
SampleTexture const & sampleTexture ) const
protected

◆ doLoadVec4Component()

sdw::Vec4 castor3d::shader::PassMapComponentsShader::doLoadVec4Component ( castor::MbString const & mbMapName,
castor::MbString const & mbValueName,
castor::MbString const & textureName,
PassShaders const & passShaders,
TextureConfigurations const & textureConfigs,
TextureAnimations const & textureAnims,
Material const & material,
BlendComponents & components,
SampleTexture const & sampleTexture ) const
protected

◆ loadFloatComponent() [1/2]

C3D_API sdw::Float castor3d::shader::PassMapComponentsShader::loadFloatComponent ( 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

Referenced by loadFloatComponent().

Here is the caller graph for this function:

◆ loadFloatComponent() [2/2]

sdw::Float castor3d::shader::PassMapComponentsShader::loadFloatComponent ( castor::String const & valueName,
PassShaders const & passShaders,
TextureConfigurations const & textureConfigs,
TextureAnimations const & textureAnims,
Material const & material,
BlendComponents & components,
SampleTexture const & sampleTexture ) const
inlineprotected

References loadFloatComponent().

Here is the call graph for this function:

◆ loadVec2Component() [1/2]

C3D_API sdw::Vec2 castor3d::shader::PassMapComponentsShader::loadVec2Component ( 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

Referenced by loadVec2Component().

Here is the caller graph for this function:

◆ loadVec2Component() [2/2]

sdw::Vec2 castor3d::shader::PassMapComponentsShader::loadVec2Component ( castor::String const & valueName,
PassShaders const & passShaders,
TextureConfigurations const & textureConfigs,
TextureAnimations const & textureAnims,
Material const & material,
BlendComponents & components,
SampleTexture const & sampleTexture ) const
inlineprotected

References loadVec2Component().

Here is the call graph for this function:

◆ loadVec3Component() [1/2]

C3D_API sdw::Vec3 castor3d::shader::PassMapComponentsShader::loadVec3Component ( 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

Referenced by loadVec3Component().

Here is the caller graph for this function:

◆ loadVec3Component() [2/2]

sdw::Vec3 castor3d::shader::PassMapComponentsShader::loadVec3Component ( castor::String const & valueName,
PassShaders const & passShaders,
TextureConfigurations const & textureConfigs,
TextureAnimations const & textureAnims,
Material const & material,
BlendComponents & components,
SampleTexture const & sampleTexture ) const
inlineprotected

References loadVec3Component().

Here is the call graph for this function:

◆ loadVec4Component() [1/2]

C3D_API sdw::Vec4 castor3d::shader::PassMapComponentsShader::loadVec4Component ( 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

Referenced by loadVec4Component().

Here is the caller graph for this function:

◆ loadVec4Component() [2/2]

sdw::Vec4 castor3d::shader::PassMapComponentsShader::loadVec4Component ( castor::String const & valueName,
PassShaders const & passShaders,
TextureConfigurations const & textureConfigs,
TextureAnimations const & textureAnims,
Material const & material,
BlendComponents & components,
SampleTexture const & sampleTexture ) const
inlineprotected

References loadVec4Component().

Here is the call graph for this function:

◆ PassComponentsShader()

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

The documentation for this struct was generated from the following file: