Castor3D  0.11.0
Multiplatform 3D engine
Fonctions membres publiques | Attributs publics statiques | Fonctions membres protégées | Attributs protégés | Liste de tous les membres
Référence de la classe castor3d::shader::LightingModelabstract
Graphe d'héritage de castor3d::shader::LightingModel:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::shader::LightingModel:
Collaboration graph
[légende]

Fonctions membres publiques

C3D_API LightingModel (sdw::ShaderWriter &writer, Utils &utils, ShadowOptions shadowOptions, bool isOpaqueProgram)
 
C3D_API void declareModel (uint32_t &index)
 
C3D_API void declareDiffuseModel (uint32_t &index)
 
C3D_API void declareDirectionalModel (bool lightUbo, uint32_t &index)
 
C3D_API void declarePointModel (bool lightUbo, uint32_t &index)
 
C3D_API void declareSpotModel (bool lightUbo, uint32_t &index)
 
C3D_API DirectionalLight getDirectionalLight (sdw::Int const &index) const
 
C3D_API PointLight getPointLight (sdw::Int const &index) const
 
C3D_API SpotLight getSpotLight (sdw::Int const &index) const
 
Shadow const & getShadowModel () const
 

Attributs publics statiques

static C3D_API uint32_t const UboBindingPoint
 

Fonctions membres protégées

C3D_API Light getBaseLight (sdw::Int const &value) const
 
C3D_API void doDeclareLight ()
 
C3D_API void doDeclareDirectionalLight ()
 
C3D_API void doDeclarePointLight ()
 
C3D_API void doDeclareSpotLight ()
 
C3D_API void doDeclareDirectionalLightUbo ()
 
C3D_API void doDeclarePointLightUbo ()
 
C3D_API void doDeclareSpotLightUbo ()
 
C3D_API void doDeclareGetBaseLight ()
 
C3D_API void doDeclareGetDirectionalLight ()
 
C3D_API void doDeclareGetPointLight ()
 
C3D_API void doDeclareGetSpotLight ()
 
C3D_API void doDeclareGetCascadeFactors ()
 
virtual void doDeclareModel ()=0
 
virtual void doDeclareComputeDirectionalLight ()=0
 
virtual void doDeclareComputePointLight ()=0
 
virtual void doDeclareComputeSpotLight ()=0
 
virtual void doDeclareDiffuseModel ()=0
 
virtual void doDeclareComputeDirectionalLightDiffuse ()=0
 
virtual void doDeclareComputePointLightDiffuse ()=0
 
virtual void doDeclareComputeSpotLightDiffuse ()=0
 

Attributs protégés

sdw::ShaderWriter & m_writer
 
Utilsm_utils
 
bool m_isOpaqueProgram
 
std::shared_ptr< Shadowm_shadowModel
 
sdw::Function< sdw::Vec3, sdw::InVec3, sdw::InVec4, sdw::InUInt > m_getCascadeFactors
 
sdw::Function< shader::Light, sdw::InInt > m_getBaseLight
 
sdw::Function< shader::DirectionalLight, sdw::InInt > m_getDirectionalLight
 
sdw::Function< shader::PointLight, sdw::InInt > m_getPointLight
 
sdw::Function< shader::SpotLight, sdw::InInt > m_getSpotLight
 
std::unique_ptr< sdw::Struct > m_lightType
 
std::unique_ptr< sdw::Struct > m_directionalLightType
 
std::unique_ptr< sdw::Struct > m_pointLightType
 
std::unique_ptr< sdw::Struct > m_spotLightType
 

Documentation des constructeurs et destructeur

◆ LightingModel()

C3D_API castor3d::shader::LightingModel::LightingModel ( sdw::ShaderWriter &  writer,
Utils utils,
ShadowOptions  shadowOptions,
bool  isOpaqueProgram 
)

Documentation des fonctions membres

◆ declareDiffuseModel()

C3D_API void castor3d::shader::LightingModel::declareDiffuseModel ( uint32_t &  index)

◆ declareDirectionalModel()

C3D_API void castor3d::shader::LightingModel::declareDirectionalModel ( bool  lightUbo,
uint32_t &  index 
)

◆ declareModel()

C3D_API void castor3d::shader::LightingModel::declareModel ( uint32_t &  index)

◆ declarePointModel()

C3D_API void castor3d::shader::LightingModel::declarePointModel ( bool  lightUbo,
uint32_t &  index 
)

◆ declareSpotModel()

C3D_API void castor3d::shader::LightingModel::declareSpotModel ( bool  lightUbo,
uint32_t &  index 
)

◆ doDeclareComputeDirectionalLight()

virtual void castor3d::shader::LightingModel::doDeclareComputeDirectionalLight ( )
protectedpure virtual

◆ doDeclareComputeDirectionalLightDiffuse()

virtual void castor3d::shader::LightingModel::doDeclareComputeDirectionalLightDiffuse ( )
protectedpure virtual

◆ doDeclareComputePointLight()

virtual void castor3d::shader::LightingModel::doDeclareComputePointLight ( )
protectedpure virtual

◆ doDeclareComputePointLightDiffuse()

virtual void castor3d::shader::LightingModel::doDeclareComputePointLightDiffuse ( )
protectedpure virtual

◆ doDeclareComputeSpotLight()

virtual void castor3d::shader::LightingModel::doDeclareComputeSpotLight ( )
protectedpure virtual

◆ doDeclareComputeSpotLightDiffuse()

virtual void castor3d::shader::LightingModel::doDeclareComputeSpotLightDiffuse ( )
protectedpure virtual

◆ doDeclareDiffuseModel()

virtual void castor3d::shader::LightingModel::doDeclareDiffuseModel ( )
protectedpure virtual

◆ doDeclareDirectionalLight()

C3D_API void castor3d::shader::LightingModel::doDeclareDirectionalLight ( )
protected

◆ doDeclareDirectionalLightUbo()

C3D_API void castor3d::shader::LightingModel::doDeclareDirectionalLightUbo ( )
protected

◆ doDeclareGetBaseLight()

C3D_API void castor3d::shader::LightingModel::doDeclareGetBaseLight ( )
protected

◆ doDeclareGetCascadeFactors()

C3D_API void castor3d::shader::LightingModel::doDeclareGetCascadeFactors ( )
protected

◆ doDeclareGetDirectionalLight()

C3D_API void castor3d::shader::LightingModel::doDeclareGetDirectionalLight ( )
protected

◆ doDeclareGetPointLight()

C3D_API void castor3d::shader::LightingModel::doDeclareGetPointLight ( )
protected

◆ doDeclareGetSpotLight()

C3D_API void castor3d::shader::LightingModel::doDeclareGetSpotLight ( )
protected

◆ doDeclareLight()

C3D_API void castor3d::shader::LightingModel::doDeclareLight ( )
protected

◆ doDeclareModel()

virtual void castor3d::shader::LightingModel::doDeclareModel ( )
protectedpure virtual

◆ doDeclarePointLight()

C3D_API void castor3d::shader::LightingModel::doDeclarePointLight ( )
protected

◆ doDeclarePointLightUbo()

C3D_API void castor3d::shader::LightingModel::doDeclarePointLightUbo ( )
protected

◆ doDeclareSpotLight()

C3D_API void castor3d::shader::LightingModel::doDeclareSpotLight ( )
protected

◆ doDeclareSpotLightUbo()

C3D_API void castor3d::shader::LightingModel::doDeclareSpotLightUbo ( )
protected

◆ getBaseLight()

C3D_API Light castor3d::shader::LightingModel::getBaseLight ( sdw::Int const &  value) const
protected

◆ getDirectionalLight()

C3D_API DirectionalLight castor3d::shader::LightingModel::getDirectionalLight ( sdw::Int const &  index) const

◆ getPointLight()

C3D_API PointLight castor3d::shader::LightingModel::getPointLight ( sdw::Int const &  index) const

◆ getShadowModel()

Shadow const& castor3d::shader::LightingModel::getShadowModel ( ) const
inline

Références m_shadowModel.

◆ getSpotLight()

C3D_API SpotLight castor3d::shader::LightingModel::getSpotLight ( sdw::Int const &  index) const

Documentation des données membres

◆ m_directionalLightType

std::unique_ptr< sdw::Struct > castor3d::shader::LightingModel::m_directionalLightType
protected

◆ m_getBaseLight

sdw::Function< shader::Light , sdw::InInt > castor3d::shader::LightingModel::m_getBaseLight
protected

◆ m_getCascadeFactors

sdw::Function< sdw::Vec3 , sdw::InVec3 , sdw::InVec4 , sdw::InUInt > castor3d::shader::LightingModel::m_getCascadeFactors
protected

◆ m_getDirectionalLight

sdw::Function< shader::DirectionalLight , sdw::InInt > castor3d::shader::LightingModel::m_getDirectionalLight
protected

◆ m_getPointLight

sdw::Function< shader::PointLight , sdw::InInt > castor3d::shader::LightingModel::m_getPointLight
protected

◆ m_getSpotLight

sdw::Function< shader::SpotLight , sdw::InInt > castor3d::shader::LightingModel::m_getSpotLight
protected

◆ m_isOpaqueProgram

bool castor3d::shader::LightingModel::m_isOpaqueProgram
protected

◆ m_lightType

std::unique_ptr< sdw::Struct > castor3d::shader::LightingModel::m_lightType
protected

◆ m_pointLightType

std::unique_ptr< sdw::Struct > castor3d::shader::LightingModel::m_pointLightType
protected

◆ m_shadowModel

std::shared_ptr< Shadow > castor3d::shader::LightingModel::m_shadowModel
protected

Référencé par getShadowModel().

◆ m_spotLightType

std::unique_ptr< sdw::Struct > castor3d::shader::LightingModel::m_spotLightType
protected

◆ m_utils

Utils& castor3d::shader::LightingModel::m_utils
protected

◆ m_writer

sdw::ShaderWriter& castor3d::shader::LightingModel::m_writer
protected

◆ UboBindingPoint

C3D_API uint32_t const castor3d::shader::LightingModel::UboBindingPoint
static

La documentation de cette classe a été générée à partir du fichier suivant :