• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    SUN_vertex
4
5Name Strings
6
7    GL_SUN_vertex
8
9Contact
10
11    Jack Middleton, Sun (Jack.Middleton 'at' eng.sun.com)
12
13Status
14
15    Shipping
16
17Version
18
19    $Date: 1999/12/28 01:40:37 $ $Revision: 1.5 $
20    SUN Date: 99/07/01 10:29:03  Revision: 1.7
21
22Number
23
24    166
25
26Dependencies
27
28    SUN_triangle_list affects part of the definition of this extension
29
30Overview
31
32    This extension provides new GL commands to specify vertex data such as
33    color and normal along with the vertex in one single GL command in order to
34    minimize the overhead in making GL commands for each set of vertex data.
35
36New Procedures and Functions
37
38    void Color4ubVertex2fSUN(ubyte r, ubyte g, ubyte b, ubyte a,
39				float x, float y);
40    void Color4ubVertex2fvSUN(const ubyte *c, const float *v);
41
42    void Color4ubVertex3fSUN(ubyte r, ubyte g, ubyte b, ubyte a,
43				float x, float y, float z);
44    void Color4ubVertex3fvSUN(const ubyte *c, const float *v);
45
46    void Color3fVertex3fSUN(float r, float g, float b,
47				float x, float y, float z);
48    void Color3fVertex3fvSUN(const float *c, const float *v);
49
50    void Normal3fVertex3fSUN(float nx, float ny, float nz,
51				float x, float y, float z);
52    void Normal3fVertex3fvSUN(const float *n, const float *v);
53
54    void Color4fNormal3fVertex3fSUN(float r, float g, float b, float a,
55				float nx, float ny, float nz,
56				float x, float y, float z);
57    void Color4fNormal3fVertex3fvSUN(const float *c, const float *n, const float
58*v);
59
60    void TexCoord2fVertex3fSUN(float s, float t, float x, float y, float z);
61    void TexCoord2fVertex3fvSUN(const float *tc, const float *v);
62
63    void TexCoord4fVertex4fSUN(float s, float t, float p, float q,
64				float x, float y, float z, float w);
65    void TexCoord4fVertex4fvSUN(const float *tc, const float *v);
66
67    void TexCoord2fColor4ubVertex3fSUN(float s, float t,
68				ubyte r, ubyte g, ubyte b, ubyte a,
69				float x, float y, float z);
70    void TexCoord2fColor4ubVertex3fvSUN(const float *tc, const ubyte *c, const
71float *v);
72
73    void TexCoord2fColor3fVertex3fSUN(float s, float t,
74				float r, float g, float b,
75				float x, float y, float z);
76    void TexCoord2fColor3fVertex3fvSUN(const float *tc, const float *c, const
77float *v);
78
79    void TexCoord2fNormal3fVertex3fSUN(float s, float t,
80				float nx, float ny, float nz,
81				float x, float y, float z);
82    void TexCoord2fNormal3fVertex3fvSUN(const float *tc, const float *n, const
83float *v);
84
85    void TexCoord2fColor4fNormal3fVertex3fSUN(float s, float t,
86				float r, float g, float b, float a,
87				float nx, float ny, float nz,
88				float x, float y, float z);
89    void TexCoord2fColor4fNormal3fVertex3fvSUN(const float *tc, const float *c,
90						const float *n, const float *v);
91
92    void TexCoord4fColor4fNormal3fVertex4fSUN(float s, float t, float p, float
93q,
94				float r, float g, float b, float a,
95				float nx, float ny, float nz,
96				float x, float y, float z, float w);
97    void TexCoord4fColor4fNormal3fVertex4fvSUN(const float *tc, const float *c,
98						const float *n, const float *v);
99
100    void ReplacementCodeuiVertex3fSUN(uint rc, float x, float y, float z);
101    void ReplacementCodeuiVertex3fvSUN(const uint *rc, const float *v);
102
103    void ReplacementCodeuiColor4ubVertex3fSUN(uint rc,
104				ubyte r, ubyte g, ubyte b, ubyte a,
105				float x, float y, float z);
106    void ReplacementCodeuiColor4ubVertex3fvSUN(const uint *rc, const ubyte *c,
107const float *v);
108
109    void ReplacementCodeuiColor3fVertex3fSUN(uint rc,
110				float r, float g, float b,
111				float x, float y, float z);
112    void ReplacementCodeuiColor3fVertex3fvSUN(const uint *rc, const float *c,
113const float *v);
114
115    void ReplacementCodeuiNormal3fVertex3fSUN(uint rc,
116				float nx, float ny, float nz,
117				float x, float y, float z);
118    void ReplacementCodeuiNormal3fVertex3fvSUN(const uint *rc, const float *n,
119const float *v);
120
121    void ReplacementCodeuiColor4fNormal3fVertex3fSUN(uint rc,
122				float r, float g, float b, float a,
123				float nx, float ny, float nz,
124				float x, float y, float z);
125    void ReplacementCodeuiColor4fNormal3fVertex3fvSUN(const uint *rc, const
126float *c,
127							const float *n, const
128float *v);
129
130    void ReplacementCodeuiTexCoord2fVertex3fSUN(uint rc,
131				float s, float t,
132				float x, float y, float z);
133    void ReplacementCodeuiTexCoord2fVertex3fvSUN(const uint *rc, const float
134*tc, const float *v);
135
136    void ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(uint rc,
137				float s, float t,
138				float nx, float ny, float nz,
139				float x, float y, float z);
140    void ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const uint *rc, const
141float *tc,
142							const float *n, const
143float *v);
144
145    void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(uint rc,
146				float s, float t,
147				float r, float g, float b, float a,
148				float nx, float ny, float nz,
149				float x, float y, float z);
150    void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(
151					const uint *rc, const float *tc, const
152float *c,
153					const float *n, const float *v);
154
155
156New Tokens
157
158    None
159
160
161Additions to Chapter 2 of the 1.2 Specification (OpenGL Operation)
162
163    The following paragraph will be added to the end of section 2.7
164    Vertex Specification.
165
166    Multiple vertex data can also be specified in one single GL command
167    along with the vertex using the following GL commands. The order
168    of processing is always first texture coordinates, then colors, then
169normals,
170    and vertex coordinates last.
171
172    void Color4ubVertex2fSUN(ubyte r, ubyte g, ubyte b, ubyte a,
173				float x, float y);
174    void Color4ubVertex2fvSUN(const ubyte *c, const float *v);
175
176    void Color4ubVertex3fSUN(ubyte r, ubyte g, ubyte b, ubyte a,
177				float x, float y, float z);
178    void Color4ubVertex3fvSUN(const ubyte *c, const float *v);
179
180    void Color3fVertex3fSUN(float r, float g, float b,
181				float x, float y, float z);
182    void Color3fVertex3fvSUN(const float *c, const float *v);
183
184    void Normal3fVertex3fSUN(float nx, float ny, float nz,
185				float x, float y, float z);
186    void Normal3fVertex3fvSUN(const float *n, const float *v);
187
188    void Color4fNormal3fVertex3fSUN(float r, float g, float b, float a,
189				float nx, float ny, float nz,
190				float x, float y, float z);
191    void Color4fNormal3fVertex3fvSUN(const float *n, const float *v);
192
193    void TexCoord2fVertex3fSUN(float s, float t, float x, float y, float z);
194    void TexCoord2fVertex3fvSUN(const float *tc, const float *v);
195
196    void TexCoord4fVertex4fSUN(float s, float t, float p, float q,
197				float x, float y, float z, float w);
198    void TexCoord4fVertex4fvSUN(const float *tc, const float *v);
199
200    void TexCoord2fColor4ubVertex3fSUN(float s, float t,
201				ubyte r, ubyte g, ubyte b, ubyte a,
202				float x, float y, float z);
203    void TexCoord2fColor4ubVertex3fvSUN(const float *tc, const ubyte *c, const
204float *v);
205
206    void TexCoord2fColor3fVertex3fSUN(float s, float t,
207				float r, float g, float b,
208				float x, float y, float z);
209    void TexCoord2fColor3fVertex3fvSUN(const float *tc, const float *c, const
210float *v);
211
212    void TexCoord2fNormal3fVertex3fSUN(float s, float t,
213				float nx, float ny, float nz,
214				float x, float y, float z);
215    void TexCoord2fNormal3fVertex3fvSUN(const float *tc, const float *n, const
216float *v);
217
218    void TexCoord2fColor4fNormal3fVertex3fSUN(float s, float t,
219				float r, float g, float b, float a,
220				float nx, float ny, float nz,
221				float x, float y, float z);
222    void TexCoord2fColor4fNormal3fVertex3fvSUN(const float *tc, const float *c,
223const float *n,
224						const float *v);
225
226    void TexCoord4fColor4fNormal3fVertex4fSUN(float s, float t, float p, float
227q,
228				float r, float g, float b, float a,
229				float nx, float ny, float nz,
230				float x, float y, float z, float w);
231    void TexCoord4fColor4fNormal3fVertex4fvSUN(const float *tc, const float *c,
232const float *n,
233						const float *v);
234
235    void ReplacementCodeuiVertex3fSUN(uint rc, float x, float y, float z);
236    void ReplacementCodeuiVertex3fvSUN(const uint *rc, const float *v);
237
238    void ReplacementCodeuiColor4ubVertex3fSUN(uint rc,
239				ubyte r, ubyte g, ubyte b, ubyte a,
240				float x, float y, float z);
241    void ReplacementCodeuiColor4ubVertex3fvSUN(const uint *rc, const ubyte *c,
242const float *v);
243
244    void ReplacementCodeuiColor3fVertex3fSUN(uint rc,
245				float r, float g, float b,
246				float x, float y, float z);
247    void ReplacementCodeuiColor3fVertex3fvSUN(const uint *rc, const float *c,
248const float *v);
249
250    void ReplacementCodeuiNormal3fVertex3fSUN(uint rc,
251				float nx, float ny, float nz,
252				float x, float y, float z);
253    void ReplacementCodeuiNormal3fVertex3fvSUN(const uint *rc, const float *n,
254const float *v);
255
256    void ReplacementCodeuiColor4fNormal3fVertex3fSUN(uint rc,
257				float r, float g, float b, float a,
258				float nx, float ny, float nz,
259				float x, float y, float z);
260    void ReplacementCodeuiColor4fNormal3fVertex3fvSUN(const uint *rc, const
261float *c,
262							const float *n, const
263float *v);
264
265    void ReplacementCodeuiTexCoord2fVertex3fSUN(uint rc,
266				float s, float t,
267				float x, float y, float z);
268    void ReplacementCodeuiTexCoord2fVertex3fvSUN(const uint *rc, const float
269*tc, const float *v);
270
271    void ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(uint rc,
272				float s, float t,
273				float nx, float ny, float nz,
274				float x, float y, float z);
275    void ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const uint *rc, const
276float *tc,
277							const float *n, const
278float *v);
279
280    void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(uint rc,
281				float s, float t,
282				float r, float g, float b, float a,
283				float nx, float ny, float nz,
284				float x, float y, float z);
285    void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(
286					const uint *rc, const float *tc, const
287float *c,
288					const float *n, const float *v);
289
290
291Additions to Chapter 3 of the 1.2 Specification (Rasterization)
292
293    None
294
295Additions to Chapter 4 of the 1.2 Specification (Per-Fragment Operations
296and the Frame Buffer)
297
298    None
299
300Additions to Chapter 5 of the 1.2 Specification (Special Functions)
301
302    None
303
304Additions to Chapter 6 of the 1.2 Specification (State and State Requests)
305
306    None
307
308Additions to the GLX / WGL / AGL Specifications
309
310    None
311
312
313GLX Protocol
314
315    No new GLX protocol is added. The vertex components in the new GL commands
316    will be sent to remote servers using the regular GL protocols as if
317    the vertex components are passed in using the regular GL commands.
318
319
320Dependencies on SUN_triangle_list
321
322    If SUN_triangle_list is supported, those GL commands which include
323    a replacement code will be supported as well. Otherwise commands which
324    include replacement codes are not supported.
325
326
327Errors
328
329    None
330
331New State
332
333    None
334
335New Implementation Dependent State
336
337    None
338