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

#include <GlslMaterial.hpp>

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

Public Member Functions

C3D_API Materials (sdw::ShaderWriter &writer, PassShaders &passShaders)
 
C3D_API Materials (sdw::ShaderWriter &writer, PassShaders &passShaders, uint32_t binding, uint32_t set, bool enable=true)
 
C3D_API Materials (Engine const &engine, sdw::ShaderWriter &writer, PassShaders &passShaders, uint32_t binding, uint32_t set, uint32_t &specifics, bool enable=true)
 
C3D_API ComponentModeFlags getFilter () const
 
template<typename TypeT >
bool hasSpecificsBuffer () const
 
template<typename TypeT >
BufferT< TypeT > const & getSpecificsBuffer () const
 
sdw::UInt getPassTypesCount () const
 
Material getMaterial (sdw::UInt const &index) const
 
auto & getPassShaders () const
 
C3D_API void blendMaterials (PipelineFlags const &flags, shader::TextureConfigurations const &textureConfigs, shader::TextureAnimations const &textureAnims, sdw::Array< sdw::CombinedImage2DRgba32 > const &maps, Material &material, sdw::UInt const &materialId, sdw::Array< sdw::Vec4 > const &passMultipliers, BlendComponents &output) const
 
C3D_API void blendMaterials (VkCompareOp alphaFunc, PipelineFlags const &flags, shader::TextureConfigurations const &textureConfigs, shader::TextureAnimations const &textureAnims, sdw::Array< sdw::CombinedImage2DRgba32 > const &maps, Material &material, sdw::UInt const &materialId, sdw::Array< sdw::Vec4 > const &passMultipliers, BlendComponents &output) const
 
C3D_API void blendMaterials (DebugOutput &debugOutput, VkCompareOp alphaFunc, PipelineFlags const &flags, shader::TextureConfigurations const &textureConfigs, shader::TextureAnimations const &textureAnims, sdw::Array< sdw::CombinedImage2DRgba32 > const &maps, Material &material, sdw::UInt const &materialId, sdw::Array< sdw::Vec4 > const &passMultipliers, BlendComponents &output) const
 
C3D_API void blendMaterials (bool opaque, PipelineFlags const &flags, shader::TextureConfigurations const &textureConfigs, shader::TextureAnimations const &textureAnims, sdw::Array< sdw::CombinedImage2DRgba32 > const &maps, Material &material, sdw::UInt const &materialId, sdw::Array< sdw::Vec4 > const &passMultipliers, BlendComponents &output) const
 
C3D_API void blendMaterials (DebugOutput &debugOutput, bool opaque, PipelineFlags const &flags, shader::TextureConfigurations const &textureConfigs, shader::TextureAnimations const &textureAnims, sdw::Array< sdw::CombinedImage2DRgba32 > const &maps, Material &material, sdw::UInt const &materialId, sdw::Array< sdw::Vec4 > const &passMultipliers, BlendComponents &output) const
 
C3D_API void applyMaterialMaps (PipelineFlags const &flags, TextureConfigurations const &textureConfigs, TextureAnimations const &textureAnims, sdw::Array< sdw::CombinedImage2DRgba32 > const &maps, Material const &material, BlendComponents &components) const
 
- Public Member Functions inherited from castor3d::shader::BufferT< Material >
 BufferT (sdw::ShaderWriter &writer, castor::MbString blockName, castor::MbString variableName, uint32_t binding, uint32_t set, bool enabled=true, ParamsT &&... params)
 
Material getData (sdw::UInt const &index, ParamsT &&... params) const
 
- Public Member Functions inherited from castor3d::shader::BufferBase
 BufferBase (sdw::ShaderWriter &writer, castor::MbString blockName, castor::MbString variableName, uint32_t binding, uint32_t set, bool enabled=true)
 
sdw::UInt getFirstCount () const
 
sdw::UInt getSecondCount () const
 
sdw::UInt getThirdCount () const
 
sdw::UInt getFourthCount () const
 
sdw::UInt getCount () const
 
bool isEnabled () const noexcept
 
sdw::ShaderWriter * getWriter () const noexcept
 

Additional Inherited Members

- Protected Attributes inherited from castor3d::shader::BufferBase
sdw::ShaderWriter & m_writer
 
castor::RawUniquePtr< sdw::StorageBuffer > m_ssbo
 
castor::MbString m_variableName
 

Constructor & Destructor Documentation

◆ Materials() [1/3]

C3D_API castor3d::shader::Materials::Materials ( sdw::ShaderWriter & writer,
PassShaders & passShaders )

◆ Materials() [2/3]

C3D_API castor3d::shader::Materials::Materials ( sdw::ShaderWriter & writer,
PassShaders & passShaders,
uint32_t binding,
uint32_t set,
bool enable = true )

◆ Materials() [3/3]

C3D_API castor3d::shader::Materials::Materials ( Engine const & engine,
sdw::ShaderWriter & writer,
PassShaders & passShaders,
uint32_t binding,
uint32_t set,
uint32_t & specifics,
bool enable = true )

Member Function Documentation

◆ applyMaterialMaps()

C3D_API void castor3d::shader::Materials::applyMaterialMaps ( PipelineFlags const & flags,
TextureConfigurations const & textureConfigs,
TextureAnimations const & textureAnims,
sdw::Array< sdw::CombinedImage2DRgba32 > const & maps,
Material const & material,
BlendComponents & components ) const

◆ blendMaterials() [1/5]

C3D_API void castor3d::shader::Materials::blendMaterials ( bool opaque,
PipelineFlags const & flags,
shader::TextureConfigurations const & textureConfigs,
shader::TextureAnimations const & textureAnims,
sdw::Array< sdw::CombinedImage2DRgba32 > const & maps,
Material & material,
sdw::UInt const & materialId,
sdw::Array< sdw::Vec4 > const & passMultipliers,
BlendComponents & output ) const

◆ blendMaterials() [2/5]

C3D_API void castor3d::shader::Materials::blendMaterials ( DebugOutput & debugOutput,
bool opaque,
PipelineFlags const & flags,
shader::TextureConfigurations const & textureConfigs,
shader::TextureAnimations const & textureAnims,
sdw::Array< sdw::CombinedImage2DRgba32 > const & maps,
Material & material,
sdw::UInt const & materialId,
sdw::Array< sdw::Vec4 > const & passMultipliers,
BlendComponents & output ) const

◆ blendMaterials() [3/5]

C3D_API void castor3d::shader::Materials::blendMaterials ( DebugOutput & debugOutput,
VkCompareOp alphaFunc,
PipelineFlags const & flags,
shader::TextureConfigurations const & textureConfigs,
shader::TextureAnimations const & textureAnims,
sdw::Array< sdw::CombinedImage2DRgba32 > const & maps,
Material & material,
sdw::UInt const & materialId,
sdw::Array< sdw::Vec4 > const & passMultipliers,
BlendComponents & output ) const

◆ blendMaterials() [4/5]

C3D_API void castor3d::shader::Materials::blendMaterials ( PipelineFlags const & flags,
shader::TextureConfigurations const & textureConfigs,
shader::TextureAnimations const & textureAnims,
sdw::Array< sdw::CombinedImage2DRgba32 > const & maps,
Material & material,
sdw::UInt const & materialId,
sdw::Array< sdw::Vec4 > const & passMultipliers,
BlendComponents & output ) const

◆ blendMaterials() [5/5]

C3D_API void castor3d::shader::Materials::blendMaterials ( VkCompareOp alphaFunc,
PipelineFlags const & flags,
shader::TextureConfigurations const & textureConfigs,
shader::TextureAnimations const & textureAnims,
sdw::Array< sdw::CombinedImage2DRgba32 > const & maps,
Material & material,
sdw::UInt const & materialId,
sdw::Array< sdw::Vec4 > const & passMultipliers,
BlendComponents & output ) const

◆ getFilter()

C3D_API ComponentModeFlags castor3d::shader::Materials::getFilter ( ) const

◆ getMaterial()

Material castor3d::shader::Materials::getMaterial ( sdw::UInt const & index) const
inline

References castor3d::shader::BufferT< Material >::getData().

Here is the call graph for this function:

◆ getPassShaders()

auto & castor3d::shader::Materials::getPassShaders ( ) const
inline

◆ getPassTypesCount()

sdw::UInt castor3d::shader::Materials::getPassTypesCount ( ) const
inline

References castor3d::shader::BufferBase::getSecondCount().

Here is the call graph for this function:

◆ getSpecificsBuffer()

template<typename TypeT >
BufferT< TypeT > const & castor3d::shader::Materials::getSpecificsBuffer ( ) const
inline

References CU_Exception.

◆ hasSpecificsBuffer()

template<typename TypeT >
bool castor3d::shader::Materials::hasSpecificsBuffer ( ) const
inline

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