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

#include <ClustersUbo.hpp>

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

Public Member Functions

 ClustersData (sdw::ShaderWriter &writer, ast::expr::ExprPtr expr, bool enabled)
 
void setConfig (ClustersConfig const *config)
 
auto dimensions () const
 
auto clusterSize () const
 
auto viewNear () const
 
auto viewFar () const
 
auto pointLightLevels () const
 
auto spotLightLevels () const
 
auto pointLightCount () const
 
auto spotLightCount () const
 
auto splitScheme () const
 
auto bias () const
 
auto enableWaveIntrinsics () const
 
C3D_API sdw::RetU32Vec3 computeClusterIndex3D (sdw::UInt32 const index)
 
C3D_API sdw::RetU32Vec3 computeClusterIndex3D (sdw::Vec2 const screenPos, sdw::Float viewZ, sdw::Vec4 const clustersLightsData)
 
C3D_API sdw::RetUInt32 computeClusterIndex1D (sdw::U32Vec3 const clusterIndex3D)
 
C3D_API sdw::RetVec2 getClusterDepthBounds (sdw::U32Vec3 const clusterIndex3D, sdw::Vec4 const clustersLightsData, sdw::Vec4 const lightsAABBRange)
 
C3D_API sdw::RetVoid computeGlobalLightsData (sdw::Vec4 const lightsMin, sdw::Vec4 const lightsMax, sdw::Float const nearPlane, sdw::Float const farPlane, sdw::Vec4 &clustersLightsData, sdw::Vec4 &lightsAABBRange)
 

Constructor & Destructor Documentation

◆ ClustersData()

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

Member Function Documentation

◆ bias()

auto castor3d::shader::ClustersData::bias ( ) const
inline

◆ clusterSize()

auto castor3d::shader::ClustersData::clusterSize ( ) const
inline

◆ computeClusterIndex1D()

C3D_API sdw::RetUInt32 castor3d::shader::ClustersData::computeClusterIndex1D ( sdw::U32Vec3 const clusterIndex3D)

◆ computeClusterIndex3D() [1/2]

C3D_API sdw::RetU32Vec3 castor3d::shader::ClustersData::computeClusterIndex3D ( sdw::UInt32 const index)

◆ computeClusterIndex3D() [2/2]

C3D_API sdw::RetU32Vec3 castor3d::shader::ClustersData::computeClusterIndex3D ( sdw::Vec2 const screenPos,
sdw::Float viewZ,
sdw::Vec4 const clustersLightsData )

◆ computeGlobalLightsData()

C3D_API sdw::RetVoid castor3d::shader::ClustersData::computeGlobalLightsData ( sdw::Vec4 const lightsMin,
sdw::Vec4 const lightsMax,
sdw::Float const nearPlane,
sdw::Float const farPlane,
sdw::Vec4 & clustersLightsData,
sdw::Vec4 & lightsAABBRange )

◆ dimensions()

auto castor3d::shader::ClustersData::dimensions ( ) const
inline

◆ enableWaveIntrinsics()

auto castor3d::shader::ClustersData::enableWaveIntrinsics ( ) const
inline

◆ getClusterDepthBounds()

C3D_API sdw::RetVec2 castor3d::shader::ClustersData::getClusterDepthBounds ( sdw::U32Vec3 const clusterIndex3D,
sdw::Vec4 const clustersLightsData,
sdw::Vec4 const lightsAABBRange )

◆ pointLightCount()

auto castor3d::shader::ClustersData::pointLightCount ( ) const
inline

◆ pointLightLevels()

auto castor3d::shader::ClustersData::pointLightLevels ( ) const
inline

◆ setConfig()

void castor3d::shader::ClustersData::setConfig ( ClustersConfig const * config)
inline

◆ splitScheme()

auto castor3d::shader::ClustersData::splitScheme ( ) const
inline

◆ spotLightCount()

auto castor3d::shader::ClustersData::spotLightCount ( ) const
inline

◆ spotLightLevels()

auto castor3d::shader::ClustersData::spotLightLevels ( ) const
inline

◆ viewFar()

auto castor3d::shader::ClustersData::viewFar ( ) const
inline

◆ viewNear()

auto castor3d::shader::ClustersData::viewNear ( ) const
inline

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