Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | List of all members
castor3d::SpecularFactorComponent::ComponentsShader Struct Reference

#include <SpecularFactorComponent.hpp>

Inheritance diagram for castor3d::SpecularFactorComponent::ComponentsShader:
Inheritance graph
[legend]
Collaboration diagram for castor3d::SpecularFactorComponent::ComponentsShader:
Collaboration graph
[legend]

Public Member Functions

C3D_API void fillComponents (ComponentModeFlags componentsMask, sdw::type::BaseStruct &components, shader::Materials const &materials, sdw::StructInstance const *surface) const override
 Fills the components shader struct with the members provided by this component.
 
C3D_API void fillComponentsInits (sdw::type::BaseStruct const &components, shader::Materials const &materials, shader::Material const *material, sdw::StructInstance const *surface, sdw::Vec4 const *clrCot, sdw::expr::ExprList &inits) const override
 Fills the components shader struct members initialiser with the ones provided by this component.
 
C3D_API void blendComponents (shader::Materials const &materials, sdw::Float const &passMultiplier, shader::BlendComponents &res, shader::BlendComponents const &src) const override
 Used to mix components when multiple passes are blended together.
 
- Public Member Functions inherited from castor3d::shader::PassComponentsShader
C3D_API PassComponentsShader (PassComponentPlugin const &plugin)
 
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 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
 
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
 

Additional Inherited Members

- Protected Member Functions inherited from castor3d::shader::PassComponentsShader
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
 

Member Function Documentation

◆ blendComponents()

C3D_API void castor3d::SpecularFactorComponent::ComponentsShader::blendComponents ( shader::Materials const & materials,
sdw::Float const & passMultiplier,
shader::BlendComponents & res,
shader::BlendComponents const & src ) const
overridevirtual

Used to mix components when multiple passes are blended together.

Parameters
[in]materialsUsed to check if the current render pass needs this component.
[in]passMultiplierThe factor for the current pass.
[in,out]resReceives the blending result.
[in]srcThe current pass data.

Reimplemented from castor3d::shader::PassComponentsShader.

◆ fillComponents()

C3D_API void castor3d::SpecularFactorComponent::ComponentsShader::fillComponents ( ComponentModeFlags componentsMask,
sdw::type::BaseStruct & components,
shader::Materials const & materials,
sdw::StructInstance const * surface ) const
overridevirtual

Fills the components shader struct with the members provided by this component.

Parameters
[in]componentsMaskUsed to check if the component is valid in the context of the call.
[in,out]componentsReceives the struct members.
[in]materialsUsed to check if the current render pass needs this component.
[in]surfaceUsed to check if the surface supports needed data for this component.

Reimplemented from castor3d::shader::PassComponentsShader.

◆ fillComponentsInits()

C3D_API void castor3d::SpecularFactorComponent::ComponentsShader::fillComponentsInits ( sdw::type::BaseStruct const & components,
shader::Materials const & materials,
shader::Material const * material,
sdw::StructInstance const * surface,
sdw::Vec4 const * clrCot,
sdw::expr::ExprList & inits ) const
overridevirtual

Fills the components shader struct members initialiser with the ones provided by this component.

Remarks
The initialisers order and count must match the ones in fillComponent.
Parameters
[in]componentsReceives the struct members.
[in]materialsUsed to check if the current render pass needs this component.
[in]materialUsed to retrieve needed data for this component.
[in]surfaceUsed to retrieve needed data for this component.
[in]clrCotUsed to retrieve needed data for this component.
[in,out]initsReceives the initialisers.

Reimplemented from castor3d::shader::PassComponentsShader.


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