4 name=
"ClusterShadingStageData"
6 library=
"ContribTechniques"
7 pointerfieldtypes=
"none"
10 parentsystemcomponent=
"true"
12 useLocalIncludes=
"false"
16 View dependent Data used by the ClusterShadingStage.
19 name=
"frustDispDatUBOChunk"
20 type=
"UniformBufferObjStd140ChunkPtr"
26 This represents a lightweight data struct used by the calc frustums computation shader.
30 name=
"cullDispDatUBOChunk"
31 type=
"UniformBufferObjStd140ChunkPtr"
37 This represents a lightweight data struct used by the cull lights computation shader.
41 name=
"cullClusterDatUBOChunk"
42 type=
"UniformBufferObjStd140ChunkPtr"
48 Cluster data are used for calculation of the cluster keys respectively cluster z-Values.
49 This UBO is needed in the shading material fragment shader.
53 name=
"cullLightIndexCounterSSBOChunk"
54 type=
"ShaderStorageBufferObjStdLayoutChunkPtr"
60 This is a helper SSBO that contains a global counter used for the light culling shader.
64 name=
"frustumsSSBOChunk"
65 type=
"ShaderStorageBufferObjStdLayoutChunkPtr"
71 The frustums of the current view frustum.
75 name=
"affectedLightIndexListSSBOChunk"
76 type=
"ShaderStorageBufferObjStdLayoutChunkPtr"
82 The light index list affecting the view frustum. I.e. this index list is the
83 result of a pre light culling process before any cluster shading happens.
84 This SSBO is needed in the shading material fragment shader.
88 name=
"lightIndexListSSBOChunk"
89 type=
"ShaderStorageBufferObjStdLayoutChunkPtr"
95 The global light index list, containing the result of the cluster shading calculations.
96 This SSBO is needed in the shading material fragment shader.
101 type=
"ChunkMaterialPtr"
103 visibility=
"internal"
107 The material used for the GPU frustums calculations.
112 type=
"ChunkMaterialPtr"
114 visibility=
"internal"
118 The material used for the GPU light culling process.
122 name=
"lightGridImage"
125 visibility=
"internal"
129 The underlying image of the light grid.
133 name=
"lightGridTexObjChunk"
134 type=
"TextureObjChunkPtr"
136 visibility=
"internal"
140 The texture object taking the underlying image of the light grid.
144 name=
"lightGridTexImgChunkCS"
145 type=
"TextureImageChunkPtr"
147 visibility=
"internal"
151 The write only texture image chunk that is used in the light culling compute shader.
155 name=
"lightGridTexImgChunkFS"
156 type=
"TextureImageChunkPtr"
158 visibility=
"internal"
162 The read only texture image chunk that is used in the fragment shader.
166 name=
"frustumPlanesNormals"
169 visibility=
"internal"
172 The four tile frustum planes normal vectors.
176 name=
"frustumPlanesDistances"
179 visibility=
"internal"
182 The four tile frustum planes distances from the origin.
189 visibility=
"internal"
199 visibility=
"internal"
209 visibility=
"internal"
219 visibility=
"internal"
226 name=
"isOrthographicCamera"
229 visibility=
"internal"
233 This flag tracks whether we have an orthographic or perspective camera setup.