Castor3D 0.12.0
Multiplatform 3D engine
Fonctions membres publiques | Liste de tous les membres
Référence de la classe castor3d::shader::GlobalIllumination

#include <GlslGlobalIllumination.hpp>

Fonctions membres publiques

C3D_API GlobalIllumination (sdw::ShaderWriter &writer, Utils &utils, bool deferred=false)
 
C3D_API void declare (uint32_t &bindingIndex, uint32_t setIndex, SceneFlags sceneFlags)
 
C3D_API void declare (uint32_t vctUboBindingIndex, uint32_t lpvUboBindingIndex, uint32_t llpvUboBindingIndex, uint32_t &vctTexBindingIndex, uint32_t &lpvTexBindingIndex, uint32_t &llpvTexBindingIndex, uint32_t texSetIndex, SceneFlags sceneFlags)
 
C3D_API void declareTraceConeRadiance ()
 
C3D_API void declareVct (uint32_t &uboBindingIndex, uint32_t &texBindingIndex, uint32_t uboSetIndex=0u, uint32_t texSetIndex=0u)
 
C3D_API void declareLpv (uint32_t &uboBindingIndex, uint32_t &texBindingIndex, uint32_t uboSetIndex=0u, uint32_t texSetIndex=0u, bool declUbo=true)
 
C3D_API void declareLayeredLpv (uint32_t &uboBindingIndex, uint32_t &texBindingIndex, uint32_t uboSetIndex=0u, uint32_t texSetIndex=0u, bool declUbo=true)
 
C3D_API sdw::Vec4 computeVCTRadiance (Surface const &surface, VoxelData const &voxelData, sdw::Float const &indirectOcclusion) const
 
C3D_API sdw::Vec3 computeVCTSpecular (sdw::Vec3 const &wsCamera, sdw::Vec3 const &vsPosition, Surface const &surface, sdw::Float const &roughness, sdw::Float const &indirectOcclusion, sdw::Float const &indirectBlend, VoxelData const &voxelData) const
 
C3D_API sdw::Vec4 computeLPVRadiance (Surface surface, LpvGridData lpvGridData)
 
C3D_API sdw::Vec4 computeLLPVRadiance (Surface surface, LayeredLpvGridData llpvGridData)
 
C3D_API sdw::Float computeOcclusion (SceneFlags sceneFlags, LightType lightType, Surface surface)
 
C3D_API sdw::Vec4 computeDiffuse (SceneFlags sceneFlags, Surface surface, sdw::Float indirectOcclusion)
 
C3D_API sdw::Vec3 computeAmbient (SceneFlags sceneFlags, sdw::Vec3 const &indirectDiffuse)
 
C3D_API sdw::Vec3 computeSpecular (SceneFlags sceneFlags, sdw::Vec3 wsCamera, sdw::Vec3 vsPosition, Surface surface, sdw::Vec3 specular, sdw::Float roughness, sdw::Float indirectOcclusion, sdw::Float indirectBlend)
 
sdw::Vec4 traceConeRadiance (sdw::CombinedImage3DRgba32 const &voxels, Surface surface, VoxelData const &voxelData) const
 

Documentation des constructeurs et destructeur

◆ GlobalIllumination()

C3D_API castor3d::shader::GlobalIllumination::GlobalIllumination ( sdw::ShaderWriter &  writer,
Utils utils,
bool  deferred = false 
)
explicit

Documentation des fonctions membres

◆ computeAmbient()

C3D_API sdw::Vec3 castor3d::shader::GlobalIllumination::computeAmbient ( SceneFlags  sceneFlags,
sdw::Vec3 const &  indirectDiffuse 
)

◆ computeDiffuse()

C3D_API sdw::Vec4 castor3d::shader::GlobalIllumination::computeDiffuse ( SceneFlags  sceneFlags,
Surface  surface,
sdw::Float  indirectOcclusion 
)

◆ computeLLPVRadiance()

C3D_API sdw::Vec4 castor3d::shader::GlobalIllumination::computeLLPVRadiance ( Surface  surface,
LayeredLpvGridData  llpvGridData 
)

◆ computeLPVRadiance()

C3D_API sdw::Vec4 castor3d::shader::GlobalIllumination::computeLPVRadiance ( Surface  surface,
LpvGridData  lpvGridData 
)

◆ computeOcclusion()

C3D_API sdw::Float castor3d::shader::GlobalIllumination::computeOcclusion ( SceneFlags  sceneFlags,
LightType  lightType,
Surface  surface 
)

◆ computeSpecular()

C3D_API sdw::Vec3 castor3d::shader::GlobalIllumination::computeSpecular ( SceneFlags  sceneFlags,
sdw::Vec3  wsCamera,
sdw::Vec3  vsPosition,
Surface  surface,
sdw::Vec3  specular,
sdw::Float  roughness,
sdw::Float  indirectOcclusion,
sdw::Float  indirectBlend 
)

◆ computeVCTRadiance()

C3D_API sdw::Vec4 castor3d::shader::GlobalIllumination::computeVCTRadiance ( Surface const &  surface,
VoxelData const &  voxelData,
sdw::Float const &  indirectOcclusion 
) const

◆ computeVCTSpecular()

C3D_API sdw::Vec3 castor3d::shader::GlobalIllumination::computeVCTSpecular ( sdw::Vec3 const &  wsCamera,
sdw::Vec3 const &  vsPosition,
Surface const &  surface,
sdw::Float const &  roughness,
sdw::Float const &  indirectOcclusion,
sdw::Float const &  indirectBlend,
VoxelData const &  voxelData 
) const

◆ declare() [1/2]

C3D_API void castor3d::shader::GlobalIllumination::declare ( uint32_t &  bindingIndex,
uint32_t  setIndex,
SceneFlags  sceneFlags 
)

◆ declare() [2/2]

C3D_API void castor3d::shader::GlobalIllumination::declare ( uint32_t  vctUboBindingIndex,
uint32_t  lpvUboBindingIndex,
uint32_t  llpvUboBindingIndex,
uint32_t &  vctTexBindingIndex,
uint32_t &  lpvTexBindingIndex,
uint32_t &  llpvTexBindingIndex,
uint32_t  texSetIndex,
SceneFlags  sceneFlags 
)

◆ declareLayeredLpv()

C3D_API void castor3d::shader::GlobalIllumination::declareLayeredLpv ( uint32_t &  uboBindingIndex,
uint32_t &  texBindingIndex,
uint32_t  uboSetIndex = 0u,
uint32_t  texSetIndex = 0u,
bool  declUbo = true 
)

◆ declareLpv()

C3D_API void castor3d::shader::GlobalIllumination::declareLpv ( uint32_t &  uboBindingIndex,
uint32_t &  texBindingIndex,
uint32_t  uboSetIndex = 0u,
uint32_t  texSetIndex = 0u,
bool  declUbo = true 
)

◆ declareTraceConeRadiance()

C3D_API void castor3d::shader::GlobalIllumination::declareTraceConeRadiance ( )

◆ declareVct()

C3D_API void castor3d::shader::GlobalIllumination::declareVct ( uint32_t &  uboBindingIndex,
uint32_t &  texBindingIndex,
uint32_t  uboSetIndex = 0u,
uint32_t  texSetIndex = 0u 
)

◆ traceConeRadiance()

sdw::Vec4 castor3d::shader::GlobalIllumination::traceConeRadiance ( sdw::CombinedImage3DRgba32 const &  voxels,
Surface  surface,
VoxelData const &  voxelData 
) const

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