Castor3D  ..
Fonctions membres publiques | Attributs publics | Attributs publics statiques | Fonctions membres protégées | Liste de tous les membres
Référence de la classe castor3d::shader::MetallicBrdfLightingModel
+ Graphe d'héritage de castor3d::shader::MetallicBrdfLightingModel:
+ Graphe de collaboration de castor3d::shader::MetallicBrdfLightingModel:

Fonctions membres publiques

C3D_API MetallicBrdfLightingModel (ShadowType shadows, glsl::GlslWriter &writer)
 
C3D_API void computeCombined (glsl::Vec3 const &worldEye, glsl::Vec3 const &albedo, glsl::Float const &metallic, glsl::Float const &roughness, glsl::Int const &receivesShadows, FragmentInput const &fragmentIn, OutputComponents &output) const
 
C3D_API void compute (DirectionalLight const &light, glsl::Vec3 const &worldEye, glsl::Vec3 const &albedo, glsl::Float const &metallic, glsl::Float const &roughness, glsl::Int const &receivesShadows, FragmentInput const &fragmentIn, OutputComponents &output) const
 
C3D_API void compute (PointLight const &light, glsl::Vec3 const &worldEye, glsl::Vec3 const &albedo, glsl::Float const &metallic, glsl::Float const &roughness, glsl::Int const &receivesShadows, FragmentInput const &fragmentIn, OutputComponents &output) const
 
C3D_API void compute (SpotLight const &light, glsl::Vec3 const &worldEye, glsl::Vec3 const &albedo, glsl::Float const &metallic, glsl::Float const &roughness, glsl::Int const &receivesShadows, FragmentInput const &fragmentIn, OutputComponents &output) const
 
- Fonctions membres publiques hérités de castor3d::shader::LightingModel
C3D_API LightingModel (ShadowType shadows, glsl::GlslWriter &writer)
 
C3D_API void declareModel (uint32_t &index)
 
C3D_API void declareDirectionalModel (uint32_t &index)
 
C3D_API void declarePointModel (uint32_t &index)
 
C3D_API void declareSpotModel (uint32_t &index)
 
C3D_API DirectionalLight getDirectionalLight (glsl::Int const &index) const
 
C3D_API PointLight getPointLight (glsl::Int const &index) const
 
C3D_API SpotLight getSpotLight (glsl::Int const &index) const
 

Attributs publics

glsl::Function< glsl::Float, glsl::InFloat, glsl::InFloat > m_distributionGGX
 
glsl::Function< glsl::Float, glsl::InFloat, glsl::InFloat > m_geometrySchlickGGX
 
glsl::Function< glsl::Float, glsl::InFloat, glsl::InFloat, glsl::InFloat > m_geometrySmith
 
glsl::Function< glsl::Float, glsl::InVec3, glsl::InVec3, glsl::InVec3, glsl::InFloat > m_smith
 
glsl::Function< glsl::Vec3, glsl::InFloat, glsl::InVec3 > m_schlickFresnel
 
glsl::Function< glsl::Vec3, glsl::InFloat, glsl::InFloat, glsl::InFloat, glsl::InFloat, glsl::InVec3 > m_cookTorrance
 
glsl::Function< glsl::Void, DirectionalLight, glsl::InVec3, glsl::InVec3, glsl::InFloat, glsl::InFloat, glsl::InInt, FragmentInput, OutputComponents &> m_computeDirectional
 
glsl::Function< glsl::Void, PointLight, glsl::InVec3, glsl::InVec3, glsl::InFloat, glsl::InFloat, glsl::InInt, FragmentInput, OutputComponents &> m_computePoint
 
glsl::Function< glsl::Void, SpotLight, glsl::InVec3, glsl::InVec3, glsl::InFloat, glsl::InFloat, glsl::InInt, FragmentInput, OutputComponents &> m_computeSpot
 
glsl::Function< glsl::Void, PointLight, glsl::InVec3, glsl::InVec3, glsl::InFloat, glsl::InFloat, glsl::InInt, FragmentInput, OutputComponents &> m_computeOnePoint
 
glsl::Function< glsl::Void, SpotLight, glsl::InVec3, glsl::InVec3, glsl::InFloat, glsl::InFloat, glsl::InInt, FragmentInput, OutputComponents &> m_computeOneSpot
 
glsl::Function< glsl::Void, InLight, glsl::InVec3, glsl::InVec3, glsl::InVec3, glsl::InFloat, glsl::InFloat, glsl::InFloat, FragmentInput, OutputComponents &> m_computeLight
 

Attributs publics statiques

static C3D_API const castor::String Name
 

Fonctions membres protégées

void doDeclareModel ()
 
void doDeclareComputeDirectionalLight () override
 
void doDeclareComputePointLight () override
 
void doDeclareComputeSpotLight () override
 
void doDeclareComputeOnePointLight () override
 
void doDeclareComputeOneSpotLight () override
 
void doComputeLight (Light const &light, glsl::Vec3 const &worldEye, glsl::Vec3 const &direction, glsl::Vec3 const &albedo, glsl::Float const &metallic, glsl::Float const &roughness, glsl::Float const &shadowFactor, FragmentInput const &fragmentIn, OutputComponents &output) const
 
void doDeclareDistribution ()
 
void doDeclareGeometry ()
 
void doDeclareFresnelShlick ()
 
void doDeclareComputeLight ()
 
- Fonctions membres protégées hérités de castor3d::shader::LightingModel
C3D_API Light getBaseLight (glsl::Type const &value) const
 
C3D_API void doDeclareLight ()
 
C3D_API void doDeclareDirectionalLight ()
 
C3D_API void doDeclarePointLight ()
 
C3D_API void doDeclareSpotLight ()
 
C3D_API void doDeclareGetBaseLight ()
 
C3D_API void doDeclareGetDirectionalLight ()
 
C3D_API void doDeclareGetPointLight ()
 
C3D_API void doDeclareGetSpotLight ()
 

Membres hérités additionnels

- Attributs protégés hérités de castor3d::shader::LightingModel
ShadowType m_shadows
 
glsl::GlslWriter & m_writer
 
std::shared_ptr< Shadowm_shadowModel
 
glsl::Function< shader::DirectionalLight, glsl::InInt > m_getDirectionalLight
 
glsl::Function< shader::PointLight, glsl::InInt > m_getPointLight
 
glsl::Function< shader::SpotLight, glsl::InInt > m_getSpotLight
 

Documentation des constructeurs et destructeur

◆ MetallicBrdfLightingModel()

C3D_API castor3d::shader::MetallicBrdfLightingModel::MetallicBrdfLightingModel ( ShadowType  shadows,
glsl::GlslWriter &  writer 
)

Documentation des fonctions membres

◆ compute() [1/3]

C3D_API void castor3d::shader::MetallicBrdfLightingModel::compute ( DirectionalLight const &  light,
glsl::Vec3 const &  worldEye,
glsl::Vec3 const &  albedo,
glsl::Float const &  metallic,
glsl::Float const &  roughness,
glsl::Int const &  receivesShadows,
FragmentInput const &  fragmentIn,
OutputComponents output 
) const

◆ compute() [2/3]

C3D_API void castor3d::shader::MetallicBrdfLightingModel::compute ( PointLight const &  light,
glsl::Vec3 const &  worldEye,
glsl::Vec3 const &  albedo,
glsl::Float const &  metallic,
glsl::Float const &  roughness,
glsl::Int const &  receivesShadows,
FragmentInput const &  fragmentIn,
OutputComponents output 
) const

◆ compute() [3/3]

C3D_API void castor3d::shader::MetallicBrdfLightingModel::compute ( SpotLight const &  light,
glsl::Vec3 const &  worldEye,
glsl::Vec3 const &  albedo,
glsl::Float const &  metallic,
glsl::Float const &  roughness,
glsl::Int const &  receivesShadows,
FragmentInput const &  fragmentIn,
OutputComponents output 
) const

◆ computeCombined()

C3D_API void castor3d::shader::MetallicBrdfLightingModel::computeCombined ( glsl::Vec3 const &  worldEye,
glsl::Vec3 const &  albedo,
glsl::Float const &  metallic,
glsl::Float const &  roughness,
glsl::Int const &  receivesShadows,
FragmentInput const &  fragmentIn,
OutputComponents output 
) const

◆ doComputeLight()

void castor3d::shader::MetallicBrdfLightingModel::doComputeLight ( Light const &  light,
glsl::Vec3 const &  worldEye,
glsl::Vec3 const &  direction,
glsl::Vec3 const &  albedo,
glsl::Float const &  metallic,
glsl::Float const &  roughness,
glsl::Float const &  shadowFactor,
FragmentInput const &  fragmentIn,
OutputComponents output 
) const
protected

◆ doDeclareComputeDirectionalLight()

void castor3d::shader::MetallicBrdfLightingModel::doDeclareComputeDirectionalLight ( )
overrideprotectedvirtual

◆ doDeclareComputeLight()

void castor3d::shader::MetallicBrdfLightingModel::doDeclareComputeLight ( )
protected

◆ doDeclareComputeOnePointLight()

void castor3d::shader::MetallicBrdfLightingModel::doDeclareComputeOnePointLight ( )
overrideprotectedvirtual

◆ doDeclareComputeOneSpotLight()

void castor3d::shader::MetallicBrdfLightingModel::doDeclareComputeOneSpotLight ( )
overrideprotectedvirtual

◆ doDeclareComputePointLight()

void castor3d::shader::MetallicBrdfLightingModel::doDeclareComputePointLight ( )
overrideprotectedvirtual

◆ doDeclareComputeSpotLight()

void castor3d::shader::MetallicBrdfLightingModel::doDeclareComputeSpotLight ( )
overrideprotectedvirtual

◆ doDeclareDistribution()

void castor3d::shader::MetallicBrdfLightingModel::doDeclareDistribution ( )
protected

◆ doDeclareFresnelShlick()

void castor3d::shader::MetallicBrdfLightingModel::doDeclareFresnelShlick ( )
protected

◆ doDeclareGeometry()

void castor3d::shader::MetallicBrdfLightingModel::doDeclareGeometry ( )
protected

◆ doDeclareModel()

void castor3d::shader::MetallicBrdfLightingModel::doDeclareModel ( )
protectedvirtual

Documentation des données membres

◆ m_computeDirectional

glsl::Function< glsl::Void , DirectionalLight , glsl::InVec3 , glsl::InVec3 , glsl::InFloat , glsl::InFloat , glsl::InInt , FragmentInput , OutputComponents & > castor3d::shader::MetallicBrdfLightingModel::m_computeDirectional

◆ m_computeLight

glsl::Function< glsl::Void , InLight , glsl::InVec3 , glsl::InVec3 , glsl::InVec3 , glsl::InFloat , glsl::InFloat , glsl::InFloat , FragmentInput , OutputComponents & > castor3d::shader::MetallicBrdfLightingModel::m_computeLight

◆ m_computeOnePoint

glsl::Function< glsl::Void , PointLight , glsl::InVec3 , glsl::InVec3 , glsl::InFloat , glsl::InFloat , glsl::InInt , FragmentInput , OutputComponents & > castor3d::shader::MetallicBrdfLightingModel::m_computeOnePoint

◆ m_computeOneSpot

glsl::Function< glsl::Void , SpotLight , glsl::InVec3 , glsl::InVec3 , glsl::InFloat , glsl::InFloat , glsl::InInt , FragmentInput , OutputComponents & > castor3d::shader::MetallicBrdfLightingModel::m_computeOneSpot

◆ m_computePoint

glsl::Function< glsl::Void , PointLight , glsl::InVec3 , glsl::InVec3 , glsl::InFloat , glsl::InFloat , glsl::InInt , FragmentInput , OutputComponents & > castor3d::shader::MetallicBrdfLightingModel::m_computePoint

◆ m_computeSpot

glsl::Function< glsl::Void , SpotLight , glsl::InVec3 , glsl::InVec3 , glsl::InFloat , glsl::InFloat , glsl::InInt , FragmentInput , OutputComponents & > castor3d::shader::MetallicBrdfLightingModel::m_computeSpot

◆ m_cookTorrance

glsl::Function< glsl::Vec3 , glsl::InFloat , glsl::InFloat , glsl::InFloat , glsl::InFloat , glsl::InVec3 > castor3d::shader::MetallicBrdfLightingModel::m_cookTorrance

◆ m_distributionGGX

glsl::Function< glsl::Float , glsl::InFloat , glsl::InFloat > castor3d::shader::MetallicBrdfLightingModel::m_distributionGGX

◆ m_geometrySchlickGGX

glsl::Function< glsl::Float , glsl::InFloat , glsl::InFloat > castor3d::shader::MetallicBrdfLightingModel::m_geometrySchlickGGX

◆ m_geometrySmith

glsl::Function< glsl::Float , glsl::InFloat , glsl::InFloat , glsl::InFloat > castor3d::shader::MetallicBrdfLightingModel::m_geometrySmith

◆ m_schlickFresnel

glsl::Function< glsl::Vec3 , glsl::InFloat , glsl::InVec3 > castor3d::shader::MetallicBrdfLightingModel::m_schlickFresnel

◆ m_smith

glsl::Function< glsl::Float , glsl::InVec3 , glsl::InVec3 , glsl::InVec3 , glsl::InFloat > castor3d::shader::MetallicBrdfLightingModel::m_smith

◆ Name

C3D_API const castor::String castor3d::shader::MetallicBrdfLightingModel::Name
static

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