fixed: auto_ptr -> unique_ptr
[opensg.git] / Source / System / State / Shader / Chunks / OSGShaderExecutableChunk.fcd
blobe1ed1d446abc1264f827cabd9fdea3137b8b4bd2
1 <?xml version="1.0"?>
3 <FieldContainer
4 name="ShaderExecutableChunk"
5 parent="StateChunk"
6 library="System"
7 pointerfieldtypes="both"
8 structure="concrete"
9 systemcomponent="true"
10 parentsystemcomponent="true"
11 decoratable="false"
12 useLocalIncludes="false"
13 docGroupBase="GrpSystemShader"
15 <Field
16 name="vertexShader"
17 type="ShaderProgram"
18 cardinality="multi"
19 visibility="external"
20 access="none"
21 category="uncountedpointer"
23 <!---
24 pushToFieldAs="addVertexShader"
25 removeFromMFieldIndexAs="subVertexShader"
26 clearFieldAs="clearVertexShaders" -->
28 fragment program object
29 </Field>
30 <Field
31 name="tessControlShader"
32 type="ShaderProgram"
33 cardinality="multi"
34 visibility="external"
35 access="none"
36 category="uncountedpointer"
39 <!--
40 pushToFieldAs="addGeometryShader"
41 removeFromMFieldIndexAs="subGeometryShader"
42 clearFieldAs="clearGeometryShaders" -->
43 fragment program object
44 </Field>
45 <Field
46 name="tessEvaluationShader"
47 type="ShaderProgram"
48 cardinality="multi"
49 visibility="external"
50 access="none"
51 category="uncountedpointer"
54 <!--
55 pushToFieldAs="addGeometryShader"
56 removeFromMFieldIndexAs="subGeometryShader"
57 clearFieldAs="clearGeometryShaders" -->
58 fragment program object
59 </Field>
60 <Field
61 name="geometryShader"
62 type="ShaderProgram"
63 cardinality="multi"
64 visibility="external"
65 access="none"
66 category="uncountedpointer"
69 <!--
70 pushToFieldAs="addGeometryShader"
71 removeFromMFieldIndexAs="subGeometryShader"
72 clearFieldAs="clearGeometryShaders" -->
73 fragment program object
74 </Field>
75 <Field
76 name="fragmentShader"
77 type="ShaderProgram"
78 cardinality="multi"
79 visibility="external"
80 access="none"
81 category="uncountedpointer"
84 <!--
85 pushToFieldAs="addFragmentShader"
86 removeFromMFieldIndexAs="subFragmentShader"
87 clearFieldAs="clearFragmentShaders" -->
88 fragment program object
89 </Field>
91 <Field
92 name="variables"
93 type="ShaderProgramVariables"
94 cardinality="single"
95 visibility="external"
96 access="public"
97 category="childpointer"
98 childParentType="FieldContainer"
99 linkParentField="Parents"
101 fragment program object
102 </Field>
103 <Field
104 name="variableLocations"
105 type="Int32"
106 cardinality="multi"
107 visibility="internal"
108 access="protected"
110 fragment program object
111 </Field>
112 <Field
113 name="proceduralVariableLocations"
114 type="Int32"
115 cardinality="multi"
116 visibility="internal"
117 access="protected"
119 fragment program object
120 </Field>
122 <Field
123 name="geometryVerticesOut"
124 type="UInt32"
125 cardinality="single"
126 visibility="external"
127 defaultValue="0"
129 </Field>
130 <Field
131 name="geometryInputType"
132 type="GLenum"
133 cardinality="single"
134 visibility="external"
135 defaultValue="GL_TRIANGLES"
136 defaultHeader="&quot;OSGGL.h&quot;"
138 </Field>
139 <Field
140 name="geometryOutputType"
141 type="GLenum"
142 cardinality="single"
143 visibility="external"
144 defaultValue="GL_TRIANGLE_STRIP"
145 defaultHeader="&quot;OSGGL.h&quot;"
147 </Field>
149 <Field
150 name="attributes"
151 type="ShaderAttribute"
152 cardinality="multi"
153 visibility="external"
154 access="public"
156 </Field>
158 <Field
159 name="GLId"
160 type="UInt32"
161 cardinality="single"
162 visibility="internal"
163 access="public"
164 defaultValue="0"
165 fieldFlags="FClusterLocal"
167 </Field>
169 <Field
170 name="pointSize"
171 type="bool"
172 cardinality="single"
173 visibility="external"
174 defaultValue="false"
175 access="public"
177 Flag to set whether the shader can change the point size.
178 </Field>
180 </FieldContainer>