Castor3D 0.16.0
Multiplatform 3D engine
Public Member Functions | List of all members
castor3d::shader::PassShaders Class Reference

#include <GlslPassShaders.hpp>

Public Member Functions

C3D_API PassShaders (PassComponentRegister const &compRegister, TextureCombine const &textures, ComponentModeFlags filter, Utils &utils, bool forceLod0=false)
 
C3D_API PassShaders (PassComponentRegister const &compRegister, PipelineFlags const &flags, ComponentModeFlags filter, Utils &utils, bool forceLod0=false)
 
C3D_API void fillMaterial (sdw::type::BaseStruct &material, sdw::expr::ExprList &inits) const
 
C3D_API void fillComponents (sdw::type::BaseStruct &components, Materials const &materials, sdw::expr::ExprList &inits) const
 
C3D_API void fillComponents (sdw::type::BaseStruct &components, Materials const &materials, Material const &material, sdw::StructInstance const &surface, sdw::Vec4 const *clrCot, sdw::expr::ExprList &inits) const
 
C3D_API void fillComponentsInits (sdw::type::BaseStruct const &components, Materials const &materials, sdw::expr::ExprList &inits) const
 
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
 
C3D_API void computeTexcoords (TextureConfigurations const &textureConfigs, TextureConfigData const &config, TextureTransformData const &anim, BlendComponents &components) const
 
C3D_API void applyTextures (TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, sdw::Array< sdw::CombinedImage2DRgba32 > const &maps, Material const &material, BlendComponents &components, SampleTexture const &sampleTexture) const
 
C3D_API void applyComponents (TextureCombine const &combine, TextureConfigData const &config, sdw::U32Vec3 const &imgCompConfig, sdw::Vec4 const &sampled, sdw::Vec2 const &uv, BlendComponents &components) const
 
C3D_API void applyComponents (PipelineFlags const &flags, TextureConfigData const &config, sdw::U32Vec3 const &imgCompConfig, sdw::Vec4 const &sampled, sdw::Vec2 const &uv, BlendComponents &components) const
 
C3D_API void blendComponents (Materials const &materials, sdw::Float const &passMultiplier, BlendComponents &res, BlendComponents const &src) const
 
C3D_API void updateComponents (PipelineFlags const &flags, sdw::Array< sdw::CombinedImage2DRgba32 > const &maps, Material const &material, BlendComponents &components) const
 
C3D_API void updateComponents (TextureCombine const &combine, sdw::Array< sdw::CombinedImage2DRgba32 > const &maps, Material const &material, BlendComponents &components, bool isFrontCulled=false) const
 
C3D_API void finishComponents (DerivSurfaceBase const &surface, sdw::Vec3 const worldEye, Utils &utils, BlendComponents &components) const
 
C3D_API castor::Map< uint32_t, PassComponentTextureFlaggetTexcoordModifs (PipelineFlags const &flags) const
 
C3D_API castor::Map< uint32_t, PassComponentTextureFlaggetTexcoordModifs (TextureCombine const &combine) const
 
C3D_API bool enableParallaxOcclusionMapping (PipelineFlags const &flags) const
 
C3D_API bool enableParallaxOcclusionMappingOne (PipelineFlags const &flags) const
 
C3D_API sdw::Vec4 sampleMap (PipelineFlags const &flags, sdw::CombinedImage2DRgba32 const map, sdw::Vec3 const texCoords, shader::BlendComponents const &components) const
 
C3D_API sdw::Vec4 sampleMap (PipelineFlags const &flags, sdw::CombinedImage2DRgba32 const map, DerivTex const texCoords, shader::BlendComponents const &components) const
 
C3D_API sdw::Vec4 sampleMap (TextureCombine const &flags, sdw::CombinedImage2DRgba32 const map, sdw::Vec3 const texCoords, shader::BlendComponents const &components) const
 
C3D_API sdw::Vec4 sampleMap (TextureCombine const &flags, sdw::CombinedImage2DRgba32 const map, sdw::Vec2 const texCoords, shader::BlendComponents const &components) const
 
C3D_API sdw::Vec4 sampleMap (TextureCombine const &flags, sdw::CombinedImage2DRgba32 const map, DerivTex const texCoords, shader::BlendComponents const &components) const
 
C3D_API void computeReflRefr (ReflectionModel &reflections, BlendComponents &components, LightSurface const &lightSurface, sdw::Vec4 const &position, BackgroundModel &background, sdw::CombinedImage2DRgba32 const &mippedScene, CameraData const &camera, DirectLighting &lighting, IndirectLighting &indirect, sdw::Vec2 const &sceneUv, sdw::UInt const &envMapIndex, sdw::Vec3 const &incident, sdw::UInt const &hasReflection, sdw::UInt const &hasRefraction, sdw::Float const &refractionRatio, sdw::Vec3 &reflectedDiffuse, sdw::Vec3 &reflectedSpecular, sdw::Vec3 &refracted, sdw::Vec3 &coatReflected, sdw::Vec3 &sheenReflected, DebugOutput &debugOutput) const
 
C3D_API void computeReflRefr (ReflectionModel &reflections, BlendComponents &components, LightSurface const &lightSurface, BackgroundModel &background, CameraData const &camera, DirectLighting &lighting, IndirectLighting &indirect, sdw::Vec2 const &sceneUv, sdw::UInt const &envMapIndex, sdw::Vec3 const &incident, sdw::UInt const &hasReflection, sdw::UInt const &hasRefraction, sdw::Float const &refractionRatio, sdw::Vec3 &reflectedDiffuse, sdw::Vec3 &reflectedSpecular, sdw::Vec3 &refracted, sdw::Vec3 &coatReflected, sdw::Vec3 &sheenReflected, DebugOutput &debugOutput) const
 
auto getFilter () const
 
bool enableOpacity () const
 
bool isFrontCulled () const
 
UtilsgetUtils () const
 
PassComponentCombine const & getPassCombine () const
 
TextureCombine const & getTexturesCombine () const
 

Constructor & Destructor Documentation

◆ PassShaders() [1/2]

C3D_API castor3d::shader::PassShaders::PassShaders ( PassComponentRegister const & compRegister,
TextureCombine const & textures,
ComponentModeFlags filter,
Utils & utils,
bool forceLod0 = false )

◆ PassShaders() [2/2]

C3D_API castor3d::shader::PassShaders::PassShaders ( PassComponentRegister const & compRegister,
PipelineFlags const & flags,
ComponentModeFlags filter,
Utils & utils,
bool forceLod0 = false )

Member Function Documentation

◆ applyComponents() [1/2]

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

◆ applyComponents() [2/2]

C3D_API void castor3d::shader::PassShaders::applyComponents ( TextureCombine const & combine,
TextureConfigData const & config,
sdw::U32Vec3 const & imgCompConfig,
sdw::Vec4 const & sampled,
sdw::Vec2 const & uv,
BlendComponents & components ) const

◆ applyTextures()

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

◆ blendComponents()

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

◆ computeReflRefr() [1/2]

C3D_API void castor3d::shader::PassShaders::computeReflRefr ( ReflectionModel & reflections,
BlendComponents & components,
LightSurface const & lightSurface,
BackgroundModel & background,
CameraData const & camera,
DirectLighting & lighting,
IndirectLighting & indirect,
sdw::Vec2 const & sceneUv,
sdw::UInt const & envMapIndex,
sdw::Vec3 const & incident,
sdw::UInt const & hasReflection,
sdw::UInt const & hasRefraction,
sdw::Float const & refractionRatio,
sdw::Vec3 & reflectedDiffuse,
sdw::Vec3 & reflectedSpecular,
sdw::Vec3 & refracted,
sdw::Vec3 & coatReflected,
sdw::Vec3 & sheenReflected,
DebugOutput & debugOutput ) const

◆ computeReflRefr() [2/2]

C3D_API void castor3d::shader::PassShaders::computeReflRefr ( ReflectionModel & reflections,
BlendComponents & components,
LightSurface const & lightSurface,
sdw::Vec4 const & position,
BackgroundModel & background,
sdw::CombinedImage2DRgba32 const & mippedScene,
CameraData const & camera,
DirectLighting & lighting,
IndirectLighting & indirect,
sdw::Vec2 const & sceneUv,
sdw::UInt const & envMapIndex,
sdw::Vec3 const & incident,
sdw::UInt const & hasReflection,
sdw::UInt const & hasRefraction,
sdw::Float const & refractionRatio,
sdw::Vec3 & reflectedDiffuse,
sdw::Vec3 & reflectedSpecular,
sdw::Vec3 & refracted,
sdw::Vec3 & coatReflected,
sdw::Vec3 & sheenReflected,
DebugOutput & debugOutput ) const

◆ computeTexcoords()

C3D_API void castor3d::shader::PassShaders::computeTexcoords ( TextureConfigurations const & textureConfigs,
TextureConfigData const & config,
TextureTransformData const & anim,
BlendComponents & components ) const

◆ enableOpacity()

bool castor3d::shader::PassShaders::enableOpacity ( ) const
inline

◆ enableParallaxOcclusionMapping()

C3D_API bool castor3d::shader::PassShaders::enableParallaxOcclusionMapping ( PipelineFlags const & flags) const

◆ enableParallaxOcclusionMappingOne()

C3D_API bool castor3d::shader::PassShaders::enableParallaxOcclusionMappingOne ( PipelineFlags const & flags) const

◆ fillComponents() [1/2]

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

◆ fillComponents() [2/2]

C3D_API void castor3d::shader::PassShaders::fillComponents ( sdw::type::BaseStruct & components,
Materials const & materials,
sdw::expr::ExprList & inits ) const

◆ fillComponentsInits() [1/2]

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

◆ fillComponentsInits() [2/2]

C3D_API void castor3d::shader::PassShaders::fillComponentsInits ( sdw::type::BaseStruct const & components,
Materials const & materials,
sdw::expr::ExprList & inits ) const

◆ fillMaterial()

C3D_API void castor3d::shader::PassShaders::fillMaterial ( sdw::type::BaseStruct & material,
sdw::expr::ExprList & inits ) const

◆ finishComponents()

C3D_API void castor3d::shader::PassShaders::finishComponents ( DerivSurfaceBase const & surface,
sdw::Vec3 const worldEye,
Utils & utils,
BlendComponents & components ) const

◆ getFilter()

auto castor3d::shader::PassShaders::getFilter ( ) const
inline

◆ getPassCombine()

PassComponentCombine const & castor3d::shader::PassShaders::getPassCombine ( ) const
inline

◆ getTexcoordModifs() [1/2]

C3D_API castor::Map< uint32_t, PassComponentTextureFlag > castor3d::shader::PassShaders::getTexcoordModifs ( PipelineFlags const & flags) const

◆ getTexcoordModifs() [2/2]

C3D_API castor::Map< uint32_t, PassComponentTextureFlag > castor3d::shader::PassShaders::getTexcoordModifs ( TextureCombine const & combine) const

◆ getTexturesCombine()

TextureCombine const & castor3d::shader::PassShaders::getTexturesCombine ( ) const
inline

◆ getUtils()

Utils & castor3d::shader::PassShaders::getUtils ( ) const
inline

◆ isFrontCulled()

bool castor3d::shader::PassShaders::isFrontCulled ( ) const
inline

◆ sampleMap() [1/5]

C3D_API sdw::Vec4 castor3d::shader::PassShaders::sampleMap ( PipelineFlags const & flags,
sdw::CombinedImage2DRgba32 const map,
DerivTex const texCoords,
shader::BlendComponents const & components ) const

◆ sampleMap() [2/5]

C3D_API sdw::Vec4 castor3d::shader::PassShaders::sampleMap ( PipelineFlags const & flags,
sdw::CombinedImage2DRgba32 const map,
sdw::Vec3 const texCoords,
shader::BlendComponents const & components ) const

◆ sampleMap() [3/5]

C3D_API sdw::Vec4 castor3d::shader::PassShaders::sampleMap ( TextureCombine const & flags,
sdw::CombinedImage2DRgba32 const map,
DerivTex const texCoords,
shader::BlendComponents const & components ) const

◆ sampleMap() [4/5]

C3D_API sdw::Vec4 castor3d::shader::PassShaders::sampleMap ( TextureCombine const & flags,
sdw::CombinedImage2DRgba32 const map,
sdw::Vec2 const texCoords,
shader::BlendComponents const & components ) const

◆ sampleMap() [5/5]

C3D_API sdw::Vec4 castor3d::shader::PassShaders::sampleMap ( TextureCombine const & flags,
sdw::CombinedImage2DRgba32 const map,
sdw::Vec3 const texCoords,
shader::BlendComponents const & components ) const

◆ updateComponents() [1/2]

C3D_API void castor3d::shader::PassShaders::updateComponents ( PipelineFlags const & flags,
sdw::Array< sdw::CombinedImage2DRgba32 > const & maps,
Material const & material,
BlendComponents & components ) const

◆ updateComponents() [2/2]

C3D_API void castor3d::shader::PassShaders::updateComponents ( TextureCombine const & combine,
sdw::Array< sdw::CombinedImage2DRgba32 > const & maps,
Material const & material,
BlendComponents & components,
bool isFrontCulled = false ) const

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