Castor3D 0.12.0
Multiplatform 3D engine
Public Member Functions | List of all members
castor3d::shader::PbrSGLightMaterial Struct Reference

#include <GlslPbrMaterial.hpp>

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

Public Member Functions

 PbrSGLightMaterial (sdw::ShaderWriter &writer, sdw::expr::ExprPtr expr, bool enabled)
 
- Public Member Functions inherited from castor3d::shader::PbrLightMaterial
C3D_API PbrLightMaterial (sdw::ShaderWriter &writer, sdw::expr::ExprPtr expr, bool enabled)
 
C3D_API void create (sdw::Vec3 const &albedo, sdw::Vec4 const &data3, sdw::Vec4 const &data2, Material const &material) override
 
C3D_API void create (sdw::Vec3 const &albedo, sdw::Vec4 const &data3, sdw::Vec4 const &data2, sdw::Float const &ambient) override
 
C3D_API void create (Material const &material) override
 
C3D_API void output (sdw::Vec4 &outData2, sdw::Vec4 &outData3) const override
 
C3D_API sdw::Vec3 getAmbient (sdw::Vec3 const &ambientLight) const override
 
C3D_API void adjustDirectSpecular (sdw::Vec3 &directSpecular) const override
 
C3D_API sdw::Vec3 getIndirectAmbient (sdw::Vec3 const &indirectAmbient) const override
 
C3D_API sdw::Float getMetalness () const override
 
C3D_API sdw::Float getRoughness () const override
 
bool isSpecularGlossiness () const
 
- Public Member Functions inherited from castor3d::shader::LightMaterial
C3D_API LightMaterial (sdw::ShaderWriter &writer, sdw::expr::ExprPtr expr, bool enabled)
 
 SDW_DeclStructInstance (C3D_API, LightMaterial)
 
virtual C3D_API void create (sdw::Vec3 const &albedo, sdw::Vec4 const &data3, sdw::Vec4 const &data2, Material const &material)=0
 
virtual C3D_API void create (sdw::Vec3 const &albedo, sdw::Vec4 const &data3, sdw::Vec4 const &data2, sdw::Float const &ambient=0.0_f)=0
 
virtual C3D_API void create (Material const &material)=0
 
virtual C3D_API void output (sdw::Vec4 &outData2, sdw::Vec4 &outData3) const =0
 
virtual C3D_API sdw::Vec3 getAmbient (sdw::Vec3 const &ambientLight) const =0
 
virtual C3D_API void adjustDirectSpecular (sdw::Vec3 &directSpecular) const =0
 
virtual C3D_API sdw::Vec3 getIndirectAmbient (sdw::Vec3 const &indirectAmbient) const =0
 
virtual C3D_API sdw::Float getMetalness () const =0
 
virtual C3D_API sdw::Float getRoughness () const =0
 

Additional Inherited Members

- Static Public Member Functions inherited from castor3d::shader::LightMaterial
static C3D_API ast::type::BaseStructPtr makeType (ast::type::TypesCache &cache)
 
static C3D_API sdw::Vec3 computeF0 (sdw::Vec3 const &albedo, sdw::Float const &metalness)
 
static C3D_API sdw::Float computeMetalness (sdw::Vec3 const &albedo, sdw::Vec3 const &specular)
 
static C3D_API sdw::Float computeRoughness (sdw::Float const &glossiness)
 
- Public Attributes inherited from castor3d::shader::PbrLightMaterial
sdw::Float & roughness
 
sdw::Float & metalness
 
- Public Attributes inherited from castor3d::shader::LightMaterial
sdw::Vec4 edgeFactors
 
sdw::Vec4 edgeColour
 
sdw::Vec4 specific
 
sdw::Vec3 albedo
 
sdw::Vec3 specular
 
sdw::Float edgeWidth
 
sdw::Float depthFactor
 
sdw::Float normalFactor
 
sdw::Float objectFactor
 
sdw::Float sssProfileIndex
 
sdw::Float sssTransmittance
 
- Protected Attributes inherited from castor3d::shader::PbrLightMaterial
bool m_isSpecularGlossiness {}
 
- Protected Attributes inherited from castor3d::shader::LightMaterial
sdw::Float albDiv
 
sdw::Float spcDiv
 

Constructor & Destructor Documentation

◆ PbrSGLightMaterial()

castor3d::shader::PbrSGLightMaterial::PbrSGLightMaterial ( sdw::ShaderWriter &  writer,
sdw::expr::ExprPtr  expr,
bool  enabled 
)
inline

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