fixed: auto_ptr -> unique_ptr
[opensg.git] / Source / Contrib / Techniques / OSGClusterShadingStageData.fcd
blob74bc6fb331cd038da4c4098ed16cbc730269f2cd
1 <?xml version="1.0"?>
3 <FieldContainer
4 name="ClusterShadingStageData"
5 parent="StageData"
6 library="ContribTechniques"
7 pointerfieldtypes="none"
8 structure="concrete"
9 systemcomponent="true"
10 parentsystemcomponent="true"
11 decoratable="false"
12 useLocalIncludes="false"
13 isNodeCore="false"
16 View dependent Data used by the ClusterShadingStage.
18 <Field
19 name="frustDispDatUBOChunk"
20 type="UniformBufferObjStd140ChunkPtr"
21 cardinality="single"
22 visibility="internal"
23 defaultValue="NULL"
24 access="public"
26 This represents a lightweight data struct used by the calc frustums computation shader.
27 </Field>
29 <Field
30 name="cullDispDatUBOChunk"
31 type="UniformBufferObjStd140ChunkPtr"
32 cardinality="single"
33 visibility="internal"
34 defaultValue="NULL"
35 access="public"
37 This represents a lightweight data struct used by the cull lights computation shader.
38 </Field>
40 <Field
41 name="cullClusterDatUBOChunk"
42 type="UniformBufferObjStd140ChunkPtr"
43 cardinality="single"
44 visibility="internal"
45 defaultValue="NULL"
46 access="public"
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.
50 </Field>
52 <Field
53 name="cullLightIndexCounterSSBOChunk"
54 type="ShaderStorageBufferObjStdLayoutChunkPtr"
55 cardinality="single"
56 visibility="internal"
57 defaultValue="NULL"
58 access="public"
60 This is a helper SSBO that contains a global counter used for the light culling shader.
61 </Field>
63 <Field
64 name="frustumsSSBOChunk"
65 type="ShaderStorageBufferObjStdLayoutChunkPtr"
66 cardinality="single"
67 visibility="internal"
68 defaultValue="NULL"
69 access="public"
71 The frustums of the current view frustum.
72 </Field>
74 <Field
75 name="affectedLightIndexListSSBOChunk"
76 type="ShaderStorageBufferObjStdLayoutChunkPtr"
77 cardinality="single"
78 visibility="internal"
79 defaultValue="NULL"
80 access="public"
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.
85 </Field>
87 <Field
88 name="lightIndexListSSBOChunk"
89 type="ShaderStorageBufferObjStdLayoutChunkPtr"
90 cardinality="single"
91 visibility="internal"
92 defaultValue="NULL"
93 access="public"
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.
97 </Field>
99 <Field
100 name="frustChunkMat"
101 type="ChunkMaterialPtr"
102 cardinality="single"
103 visibility="internal"
104 defaultValue="NULL"
105 access="public"
107 The material used for the GPU frustums calculations.
108 </Field>
110 <Field
111 name="cullChunkMat"
112 type="ChunkMaterialPtr"
113 cardinality="single"
114 visibility="internal"
115 defaultValue="NULL"
116 access="public"
118 The material used for the GPU light culling process.
119 </Field>
121 <Field
122 name="lightGridImage"
123 type="ImagePtr"
124 cardinality="single"
125 visibility="internal"
126 defaultValue="NULL"
127 access="public"
129 The underlying image of the light grid.
130 </Field>
132 <Field
133 name="lightGridTexObjChunk"
134 type="TextureObjChunkPtr"
135 cardinality="single"
136 visibility="internal"
137 defaultValue="NULL"
138 access="public"
140 The texture object taking the underlying image of the light grid.
141 </Field>
143 <Field
144 name="lightGridTexImgChunkCS"
145 type="TextureImageChunkPtr"
146 cardinality="single"
147 visibility="internal"
148 defaultValue="NULL"
149 access="public"
151 The write only texture image chunk that is used in the light culling compute shader.
152 </Field>
154 <Field
155 name="lightGridTexImgChunkFS"
156 type="TextureImageChunkPtr"
157 cardinality="single"
158 visibility="internal"
159 defaultValue="NULL"
160 access="public"
162 The read only texture image chunk that is used in the fragment shader.
163 </Field>
165 <Field
166 name="frustumPlanesNormals"
167 type="Matrix"
168 cardinality="multi"
169 visibility="internal"
170 access="public"
172 The four tile frustum planes normal vectors.
173 </Field>
175 <Field
176 name="frustumPlanesDistances"
177 type="Vec4f"
178 cardinality="multi"
179 visibility="internal"
180 access="public"
182 The four tile frustum planes distances from the origin.
183 </Field>
185 <Field
186 name="left"
187 type="Int32"
188 cardinality="single"
189 visibility="internal"
190 defaultValue="0"
191 access="public"
193 </Field>
195 <Field
196 name="bottom"
197 type="Int32"
198 cardinality="single"
199 visibility="internal"
200 defaultValue="0"
201 access="public"
203 </Field>
205 <Field
206 name="width"
207 type="Int32"
208 cardinality="single"
209 visibility="internal"
210 defaultValue="0"
211 access="public"
213 </Field>
215 <Field
216 name="height"
217 type="Int32"
218 cardinality="single"
219 visibility="internal"
220 defaultValue="0"
221 access="public"
223 </Field>
225 <Field
226 name="isOrthographicCamera"
227 type="bool"
228 cardinality="single"
229 visibility="internal"
230 defaultValue="false"
231 access="public"
233 This flag tracks whether we have an orthographic or perspective camera setup.
234 </Field>
236 </FieldContainer>