Castor3D
0.11.0
Multiplatform 3D engine
|
Fonctions membres publiques | |
C3D_API | PhongLightingModel (sdw::ShaderWriter &writer, Utils &utils, ShadowOptions shadowOptions, bool isOpaqueProgram) |
C3D_API void | computeCombined (sdw::Vec3 const &worldEye, sdw::Float const &shininess, sdw::Int const &receivesShadows, Surface surface, OutputComponents &output) const |
C3D_API void | compute (DirectionalLight const &light, sdw::Vec3 const &worldEye, sdw::Float const &shininess, sdw::Int const &receivesShadows, Surface surface, OutputComponents &output) const |
C3D_API void | compute (PointLight const &light, sdw::Vec3 const &worldEye, sdw::Float const &shininess, sdw::Int const &receivesShadows, Surface surface, OutputComponents &output) const |
C3D_API void | compute (SpotLight const &light, sdw::Vec3 const &worldEye, sdw::Float const &shininess, sdw::Int const &receivesShadows, Surface surface, OutputComponents &output) const |
C3D_API sdw::Vec3 | computeCombinedDiffuse (sdw::Vec3 const &worldEye, sdw::Float const &shininess, sdw::Int const &receivesShadows, Surface surface) const |
C3D_API sdw::Vec3 | computeDiffuse (DirectionalLight const &light, sdw::Vec3 const &worldEye, sdw::Float const &shininess, sdw::Int const &receivesShadows, Surface surface) const |
C3D_API sdw::Vec3 | computeDiffuse (PointLight const &light, sdw::Vec3 const &worldEye, sdw::Float const &shininess, sdw::Int const &receivesShadows, Surface surface) const |
C3D_API sdw::Vec3 | computeDiffuse (SpotLight const &light, sdw::Vec3 const &worldEye, sdw::Float const &shininess, sdw::Int const &receivesShadows, Surface surface) const |
C3D_API void | computeMapContributions (PipelineFlags const &flags, sdw::Float const &gamma, TextureConfigurations const &textureConfigs, sdw::Array< sdw::UVec4 > const &textureConfig, sdw::Array< sdw::SampledImage2DRgba32 > const &maps, sdw::Vec3 const &texCoords, sdw::Vec3 &normal, sdw::Vec3 &tangent, sdw::Vec3 &bitangent, sdw::Vec3 &emissive, sdw::Float &opacity, sdw::Float &occlusion, sdw::Float &transmittance, sdw::Vec3 &diffuse, sdw::Vec3 &specular, sdw::Float &shininess, sdw::Vec3 &tangentSpaceViewPosition, sdw::Vec3 &tangentSpaceFragPosition) |
C3D_API void | computeMapVoxelContributions (PipelineFlags const &flags, sdw::Float const &gamma, TextureConfigurations const &textureConfigs, sdw::Array< sdw::UVec4 > const &textureConfig, sdw::Array< sdw::SampledImage2DRgba32 > const &maps, sdw::Vec3 const &texCoords, sdw::Vec3 &emissive, sdw::Float &opacity, sdw::Float &occlusion, sdw::Vec3 &diffuse, sdw::Vec3 &specular, sdw::Float &shininess) |
Fonctions membres publiques hérités de castor3d::shader::LightingModel | |
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 |
Fonctions membres publiques statiques | |
static C3D_API std::shared_ptr< PhongLightingModel > | createModel (sdw::ShaderWriter &writer, Utils &utils, ShadowOptions const &shadows, uint32_t &index, bool isOpaqueProgram) |
static C3D_API std::shared_ptr< PhongLightingModel > | createModel (sdw::ShaderWriter &writer, Utils &utils, LightType light, bool lightUbo, ShadowOptions const &shadows, uint32_t &index) |
static C3D_API std::shared_ptr< PhongLightingModel > | createDiffuseModel (sdw::ShaderWriter &writer, Utils &utils, ShadowOptions const &shadows, uint32_t &index, bool isOpaqueProgram) |
Attributs publics | |
sdw::Function< sdw::Void, InLight, sdw::InVec3, sdw::InVec3, sdw::InFloat, InSurface, OutputComponents & > | m_computeLight |
sdw::Function< sdw::Void, InDirectionalLight, sdw::InVec3, sdw::InFloat, sdw::InInt, InSurface, OutputComponents & > | m_computeDirectional |
sdw::Function< sdw::Void, InPointLight, sdw::InVec3, sdw::InFloat, sdw::InInt, InSurface, OutputComponents & > | m_computePoint |
sdw::Function< sdw::Void, InSpotLight, sdw::InVec3, sdw::InFloat, sdw::InInt, InSurface, OutputComponents & > | m_computeSpot |
sdw::Function< sdw::Vec3, InLight, sdw::InVec3, sdw::InVec3, sdw::InFloat, InSurface > | m_computeLightDiffuse |
sdw::Function< sdw::Vec3, InDirectionalLight, sdw::InVec3, sdw::InFloat, sdw::InInt, InSurface > | m_computeDirectionalDiffuse |
sdw::Function< sdw::Vec3, InPointLight, sdw::InVec3, sdw::InFloat, sdw::InInt, InSurface > | m_computePointDiffuse |
sdw::Function< sdw::Vec3, InSpotLight, sdw::InVec3, sdw::InFloat, sdw::InInt, InSurface > | m_computeSpotDiffuse |
Attributs publics statiques | |
static C3D_API const castor::String | Name |
Attributs publics statiques hérités de castor3d::shader::LightingModel | |
static C3D_API uint32_t const | UboBindingPoint |
Membres hérités additionnels | |
Attributs protégés hérités de castor3d::shader::LightingModel | |
sdw::ShaderWriter & | m_writer |
Utils & | m_utils |
bool | m_isOpaqueProgram |
std::shared_ptr< Shadow > | m_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 |
C3D_API castor3d::shader::PhongLightingModel::PhongLightingModel | ( | sdw::ShaderWriter & | writer, |
Utils & | utils, | ||
ShadowOptions | shadowOptions, | ||
bool | isOpaqueProgram | ||
) |
C3D_API void castor3d::shader::PhongLightingModel::compute | ( | DirectionalLight const & | light, |
sdw::Vec3 const & | worldEye, | ||
sdw::Float const & | shininess, | ||
sdw::Int const & | receivesShadows, | ||
Surface | surface, | ||
OutputComponents & | output | ||
) | const |
C3D_API void castor3d::shader::PhongLightingModel::compute | ( | PointLight const & | light, |
sdw::Vec3 const & | worldEye, | ||
sdw::Float const & | shininess, | ||
sdw::Int const & | receivesShadows, | ||
Surface | surface, | ||
OutputComponents & | output | ||
) | const |
C3D_API void castor3d::shader::PhongLightingModel::compute | ( | SpotLight const & | light, |
sdw::Vec3 const & | worldEye, | ||
sdw::Float const & | shininess, | ||
sdw::Int const & | receivesShadows, | ||
Surface | surface, | ||
OutputComponents & | output | ||
) | const |
C3D_API void castor3d::shader::PhongLightingModel::computeCombined | ( | sdw::Vec3 const & | worldEye, |
sdw::Float const & | shininess, | ||
sdw::Int const & | receivesShadows, | ||
Surface | surface, | ||
OutputComponents & | output | ||
) | const |
C3D_API sdw::Vec3 castor3d::shader::PhongLightingModel::computeCombinedDiffuse | ( | sdw::Vec3 const & | worldEye, |
sdw::Float const & | shininess, | ||
sdw::Int const & | receivesShadows, | ||
Surface | surface | ||
) | const |
C3D_API sdw::Vec3 castor3d::shader::PhongLightingModel::computeDiffuse | ( | DirectionalLight const & | light, |
sdw::Vec3 const & | worldEye, | ||
sdw::Float const & | shininess, | ||
sdw::Int const & | receivesShadows, | ||
Surface | surface | ||
) | const |
C3D_API sdw::Vec3 castor3d::shader::PhongLightingModel::computeDiffuse | ( | PointLight const & | light, |
sdw::Vec3 const & | worldEye, | ||
sdw::Float const & | shininess, | ||
sdw::Int const & | receivesShadows, | ||
Surface | surface | ||
) | const |
C3D_API sdw::Vec3 castor3d::shader::PhongLightingModel::computeDiffuse | ( | SpotLight const & | light, |
sdw::Vec3 const & | worldEye, | ||
sdw::Float const & | shininess, | ||
sdw::Int const & | receivesShadows, | ||
Surface | surface | ||
) | const |
C3D_API void castor3d::shader::PhongLightingModel::computeMapContributions | ( | PipelineFlags const & | flags, |
sdw::Float const & | gamma, | ||
TextureConfigurations const & | textureConfigs, | ||
sdw::Array< sdw::UVec4 > const & | textureConfig, | ||
sdw::Array< sdw::SampledImage2DRgba32 > const & | maps, | ||
sdw::Vec3 const & | texCoords, | ||
sdw::Vec3 & | normal, | ||
sdw::Vec3 & | tangent, | ||
sdw::Vec3 & | bitangent, | ||
sdw::Vec3 & | emissive, | ||
sdw::Float & | opacity, | ||
sdw::Float & | occlusion, | ||
sdw::Float & | transmittance, | ||
sdw::Vec3 & | diffuse, | ||
sdw::Vec3 & | specular, | ||
sdw::Float & | shininess, | ||
sdw::Vec3 & | tangentSpaceViewPosition, | ||
sdw::Vec3 & | tangentSpaceFragPosition | ||
) |
C3D_API void castor3d::shader::PhongLightingModel::computeMapVoxelContributions | ( | PipelineFlags const & | flags, |
sdw::Float const & | gamma, | ||
TextureConfigurations const & | textureConfigs, | ||
sdw::Array< sdw::UVec4 > const & | textureConfig, | ||
sdw::Array< sdw::SampledImage2DRgba32 > const & | maps, | ||
sdw::Vec3 const & | texCoords, | ||
sdw::Vec3 & | emissive, | ||
sdw::Float & | opacity, | ||
sdw::Float & | occlusion, | ||
sdw::Vec3 & | diffuse, | ||
sdw::Vec3 & | specular, | ||
sdw::Float & | shininess | ||
) |
|
static |
|
static |
|
static |
|
protected |
|
protected |
|
overrideprotectedvirtual |
Implémente castor3d::shader::LightingModel.
|
overrideprotectedvirtual |
Implémente castor3d::shader::LightingModel.
|
protected |
|
protected |
|
overrideprotectedvirtual |
Implémente castor3d::shader::LightingModel.
|
overrideprotectedvirtual |
Implémente castor3d::shader::LightingModel.
|
overrideprotectedvirtual |
Implémente castor3d::shader::LightingModel.
|
overrideprotectedvirtual |
Implémente castor3d::shader::LightingModel.
|
overrideprotectedvirtual |
Implémente castor3d::shader::LightingModel.
|
overrideprotectedvirtual |
Implémente castor3d::shader::LightingModel.
sdw::Function< sdw::Void , InDirectionalLight , sdw::InVec3 , sdw::InFloat , sdw::InInt , InSurface , OutputComponents & > castor3d::shader::PhongLightingModel::m_computeDirectional |
sdw::Function< sdw::Vec3 , InDirectionalLight , sdw::InVec3 , sdw::InFloat , sdw::InInt , InSurface > castor3d::shader::PhongLightingModel::m_computeDirectionalDiffuse |
sdw::Function< sdw::Void , InLight , sdw::InVec3 , sdw::InVec3 , sdw::InFloat , InSurface , OutputComponents & > castor3d::shader::PhongLightingModel::m_computeLight |
sdw::Function< sdw::Vec3 , InLight , sdw::InVec3 , sdw::InVec3 , sdw::InFloat , InSurface > castor3d::shader::PhongLightingModel::m_computeLightDiffuse |
sdw::Function< sdw::Void , InPointLight , sdw::InVec3 , sdw::InFloat , sdw::InInt , InSurface , OutputComponents & > castor3d::shader::PhongLightingModel::m_computePoint |
sdw::Function< sdw::Vec3 , InPointLight , sdw::InVec3 , sdw::InFloat , sdw::InInt , InSurface > castor3d::shader::PhongLightingModel::m_computePointDiffuse |
sdw::Function< sdw::Void , InSpotLight , sdw::InVec3 , sdw::InFloat , sdw::InInt , InSurface , OutputComponents & > castor3d::shader::PhongLightingModel::m_computeSpot |
sdw::Function< sdw::Vec3 , InSpotLight , sdw::InVec3 , sdw::InFloat , sdw::InInt , InSurface > castor3d::shader::PhongLightingModel::m_computeSpotDiffuse |
|
static |