15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    SUN_vertex
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_SUN_vertex
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContact
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Jack Middleton, Sun (Jack.Middleton 'at' eng.sun.com)
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciStatus
145bd8deadSopenharmony_ci  
155bd8deadSopenharmony_ci    Shipping
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ciVersion
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ci    $Date: 1999/12/28 01:40:37 $ $Revision: 1.5 $
205bd8deadSopenharmony_ci    SUN Date: 99/07/01 10:29:03  Revision: 1.7
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ciNumber
235bd8deadSopenharmony_ci
245bd8deadSopenharmony_ci    166
255bd8deadSopenharmony_ci
265bd8deadSopenharmony_ciDependencies
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ci    SUN_triangle_list affects part of the definition of this extension
295bd8deadSopenharmony_ci
305bd8deadSopenharmony_ciOverview
315bd8deadSopenharmony_ci
325bd8deadSopenharmony_ci    This extension provides new GL commands to specify vertex data such as 
335bd8deadSopenharmony_ci    color and normal along with the vertex in one single GL command in order to
345bd8deadSopenharmony_ci    minimize the overhead in making GL commands for each set of vertex data.
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ciNew Procedures and Functions
375bd8deadSopenharmony_ci
385bd8deadSopenharmony_ci    void Color4ubVertex2fSUN(ubyte r, ubyte g, ubyte b, ubyte a,
395bd8deadSopenharmony_ci				float x, float y);
405bd8deadSopenharmony_ci    void Color4ubVertex2fvSUN(const ubyte *c, const float *v);
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ci    void Color4ubVertex3fSUN(ubyte r, ubyte g, ubyte b, ubyte a,
435bd8deadSopenharmony_ci				float x, float y, float z);
445bd8deadSopenharmony_ci    void Color4ubVertex3fvSUN(const ubyte *c, const float *v);
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ci    void Color3fVertex3fSUN(float r, float g, float b,
475bd8deadSopenharmony_ci				float x, float y, float z);
485bd8deadSopenharmony_ci    void Color3fVertex3fvSUN(const float *c, const float *v);
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ci    void Normal3fVertex3fSUN(float nx, float ny, float nz,
515bd8deadSopenharmony_ci				float x, float y, float z);
525bd8deadSopenharmony_ci    void Normal3fVertex3fvSUN(const float *n, const float *v);
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ci    void Color4fNormal3fVertex3fSUN(float r, float g, float b, float a,
555bd8deadSopenharmony_ci				float nx, float ny, float nz,
565bd8deadSopenharmony_ci				float x, float y, float z);
575bd8deadSopenharmony_ci    void Color4fNormal3fVertex3fvSUN(const float *c, const float *n, const float 
585bd8deadSopenharmony_ci*v);
595bd8deadSopenharmony_ci
605bd8deadSopenharmony_ci    void TexCoord2fVertex3fSUN(float s, float t, float x, float y, float z);
615bd8deadSopenharmony_ci    void TexCoord2fVertex3fvSUN(const float *tc, const float *v);
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ci    void TexCoord4fVertex4fSUN(float s, float t, float p, float q,
645bd8deadSopenharmony_ci				float x, float y, float z, float w);
655bd8deadSopenharmony_ci    void TexCoord4fVertex4fvSUN(const float *tc, const float *v);
665bd8deadSopenharmony_ci
675bd8deadSopenharmony_ci    void TexCoord2fColor4ubVertex3fSUN(float s, float t, 
685bd8deadSopenharmony_ci				ubyte r, ubyte g, ubyte b, ubyte a,
695bd8deadSopenharmony_ci				float x, float y, float z);
705bd8deadSopenharmony_ci    void TexCoord2fColor4ubVertex3fvSUN(const float *tc, const ubyte *c, const 
715bd8deadSopenharmony_cifloat *v);
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci    void TexCoord2fColor3fVertex3fSUN(float s, float t, 
745bd8deadSopenharmony_ci				float r, float g, float b,
755bd8deadSopenharmony_ci				float x, float y, float z);
765bd8deadSopenharmony_ci    void TexCoord2fColor3fVertex3fvSUN(const float *tc, const float *c, const 
775bd8deadSopenharmony_cifloat *v);
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ci    void TexCoord2fNormal3fVertex3fSUN(float s, float t, 
805bd8deadSopenharmony_ci				float nx, float ny, float nz,
815bd8deadSopenharmony_ci				float x, float y, float z);
825bd8deadSopenharmony_ci    void TexCoord2fNormal3fVertex3fvSUN(const float *tc, const float *n, const 
835bd8deadSopenharmony_cifloat *v);
845bd8deadSopenharmony_ci
855bd8deadSopenharmony_ci    void TexCoord2fColor4fNormal3fVertex3fSUN(float s, float t, 
865bd8deadSopenharmony_ci				float r, float g, float b, float a,
875bd8deadSopenharmony_ci				float nx, float ny, float nz,
885bd8deadSopenharmony_ci				float x, float y, float z);
895bd8deadSopenharmony_ci    void TexCoord2fColor4fNormal3fVertex3fvSUN(const float *tc, const float *c, 
905bd8deadSopenharmony_ci						const float *n, const float *v);
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ci    void TexCoord4fColor4fNormal3fVertex4fSUN(float s, float t, float p, float 
935bd8deadSopenharmony_ciq,
945bd8deadSopenharmony_ci				float r, float g, float b, float a,
955bd8deadSopenharmony_ci				float nx, float ny, float nz,
965bd8deadSopenharmony_ci				float x, float y, float z, float w);
975bd8deadSopenharmony_ci    void TexCoord4fColor4fNormal3fVertex4fvSUN(const float *tc, const float *c, 
985bd8deadSopenharmony_ci						const float *n, const float *v);
995bd8deadSopenharmony_ci
1005bd8deadSopenharmony_ci    void ReplacementCodeuiVertex3fSUN(uint rc, float x, float y, float z);
1015bd8deadSopenharmony_ci    void ReplacementCodeuiVertex3fvSUN(const uint *rc, const float *v);
1025bd8deadSopenharmony_ci
1035bd8deadSopenharmony_ci    void ReplacementCodeuiColor4ubVertex3fSUN(uint rc,
1045bd8deadSopenharmony_ci				ubyte r, ubyte g, ubyte b, ubyte a,
1055bd8deadSopenharmony_ci				float x, float y, float z);
1065bd8deadSopenharmony_ci    void ReplacementCodeuiColor4ubVertex3fvSUN(const uint *rc, const ubyte *c, 
1075bd8deadSopenharmony_ciconst float *v);
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ci    void ReplacementCodeuiColor3fVertex3fSUN(uint rc,
1105bd8deadSopenharmony_ci				float r, float g, float b,
1115bd8deadSopenharmony_ci				float x, float y, float z);
1125bd8deadSopenharmony_ci    void ReplacementCodeuiColor3fVertex3fvSUN(const uint *rc, const float *c, 
1135bd8deadSopenharmony_ciconst float *v);
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ci    void ReplacementCodeuiNormal3fVertex3fSUN(uint rc,
1165bd8deadSopenharmony_ci				float nx, float ny, float nz,
1175bd8deadSopenharmony_ci				float x, float y, float z);
1185bd8deadSopenharmony_ci    void ReplacementCodeuiNormal3fVertex3fvSUN(const uint *rc, const float *n, 
1195bd8deadSopenharmony_ciconst float *v);
1205bd8deadSopenharmony_ci
1215bd8deadSopenharmony_ci    void ReplacementCodeuiColor4fNormal3fVertex3fSUN(uint rc,
1225bd8deadSopenharmony_ci				float r, float g, float b, float a,
1235bd8deadSopenharmony_ci				float nx, float ny, float nz,
1245bd8deadSopenharmony_ci				float x, float y, float z);
1255bd8deadSopenharmony_ci    void ReplacementCodeuiColor4fNormal3fVertex3fvSUN(const uint *rc, const 
1265bd8deadSopenharmony_cifloat *c, 
1275bd8deadSopenharmony_ci							const float *n, const 
1285bd8deadSopenharmony_cifloat *v);
1295bd8deadSopenharmony_ci
1305bd8deadSopenharmony_ci    void ReplacementCodeuiTexCoord2fVertex3fSUN(uint rc,
1315bd8deadSopenharmony_ci				float s, float t,
1325bd8deadSopenharmony_ci				float x, float y, float z);
1335bd8deadSopenharmony_ci    void ReplacementCodeuiTexCoord2fVertex3fvSUN(const uint *rc, const float 
1345bd8deadSopenharmony_ci*tc, const float *v);
1355bd8deadSopenharmony_ci
1365bd8deadSopenharmony_ci    void ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(uint rc,
1375bd8deadSopenharmony_ci				float s, float t,
1385bd8deadSopenharmony_ci				float nx, float ny, float nz, 
1395bd8deadSopenharmony_ci				float x, float y, float z);
1405bd8deadSopenharmony_ci    void ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const uint *rc, const 
1415bd8deadSopenharmony_cifloat *tc, 
1425bd8deadSopenharmony_ci							const float *n, const 
1435bd8deadSopenharmony_cifloat *v);
1445bd8deadSopenharmony_ci
1455bd8deadSopenharmony_ci    void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(uint rc,
1465bd8deadSopenharmony_ci				float s, float t,
1475bd8deadSopenharmony_ci				float r, float g, float b, float a,
1485bd8deadSopenharmony_ci				float nx, float ny, float nz,
1495bd8deadSopenharmony_ci				float x, float y, float z);
1505bd8deadSopenharmony_ci    void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(
1515bd8deadSopenharmony_ci					const uint *rc, const float *tc, const 
1525bd8deadSopenharmony_cifloat *c, 
1535bd8deadSopenharmony_ci					const float *n, const float *v);
1545bd8deadSopenharmony_ci
1555bd8deadSopenharmony_ci
1565bd8deadSopenharmony_ciNew Tokens
1575bd8deadSopenharmony_ci
1585bd8deadSopenharmony_ci    None
1595bd8deadSopenharmony_ci
1605bd8deadSopenharmony_ci
1615bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.2 Specification (OpenGL Operation)
1625bd8deadSopenharmony_ci
1635bd8deadSopenharmony_ci    The following paragraph will be added to the end of section 2.7
1645bd8deadSopenharmony_ci    Vertex Specification.
1655bd8deadSopenharmony_ci
1665bd8deadSopenharmony_ci    Multiple vertex data can also be specified in one single GL command
1675bd8deadSopenharmony_ci    along with the vertex using the following GL commands. The order
1685bd8deadSopenharmony_ci    of processing is always first texture coordinates, then colors, then 
1695bd8deadSopenharmony_cinormals, 
1705bd8deadSopenharmony_ci    and vertex coordinates last.
1715bd8deadSopenharmony_ci
1725bd8deadSopenharmony_ci    void Color4ubVertex2fSUN(ubyte r, ubyte g, ubyte b, ubyte a,
1735bd8deadSopenharmony_ci				float x, float y);
1745bd8deadSopenharmony_ci    void Color4ubVertex2fvSUN(const ubyte *c, const float *v);
1755bd8deadSopenharmony_ci
1765bd8deadSopenharmony_ci    void Color4ubVertex3fSUN(ubyte r, ubyte g, ubyte b, ubyte a,
1775bd8deadSopenharmony_ci				float x, float y, float z);
1785bd8deadSopenharmony_ci    void Color4ubVertex3fvSUN(const ubyte *c, const float *v);
1795bd8deadSopenharmony_ci
1805bd8deadSopenharmony_ci    void Color3fVertex3fSUN(float r, float g, float b,
1815bd8deadSopenharmony_ci				float x, float y, float z);
1825bd8deadSopenharmony_ci    void Color3fVertex3fvSUN(const float *c, const float *v);
1835bd8deadSopenharmony_ci
1845bd8deadSopenharmony_ci    void Normal3fVertex3fSUN(float nx, float ny, float nz,
1855bd8deadSopenharmony_ci				float x, float y, float z);
1865bd8deadSopenharmony_ci    void Normal3fVertex3fvSUN(const float *n, const float *v);
1875bd8deadSopenharmony_ci
1885bd8deadSopenharmony_ci    void Color4fNormal3fVertex3fSUN(float r, float g, float b, float a,
1895bd8deadSopenharmony_ci				float nx, float ny, float nz,
1905bd8deadSopenharmony_ci				float x, float y, float z);
1915bd8deadSopenharmony_ci    void Color4fNormal3fVertex3fvSUN(const float *n, const float *v);
1925bd8deadSopenharmony_ci
1935bd8deadSopenharmony_ci    void TexCoord2fVertex3fSUN(float s, float t, float x, float y, float z);
1945bd8deadSopenharmony_ci    void TexCoord2fVertex3fvSUN(const float *tc, const float *v);
1955bd8deadSopenharmony_ci
1965bd8deadSopenharmony_ci    void TexCoord4fVertex4fSUN(float s, float t, float p, float q,
1975bd8deadSopenharmony_ci				float x, float y, float z, float w);
1985bd8deadSopenharmony_ci    void TexCoord4fVertex4fvSUN(const float *tc, const float *v);
1995bd8deadSopenharmony_ci
2005bd8deadSopenharmony_ci    void TexCoord2fColor4ubVertex3fSUN(float s, float t, 
2015bd8deadSopenharmony_ci				ubyte r, ubyte g, ubyte b, ubyte a,
2025bd8deadSopenharmony_ci				float x, float y, float z);
2035bd8deadSopenharmony_ci    void TexCoord2fColor4ubVertex3fvSUN(const float *tc, const ubyte *c, const 
2045bd8deadSopenharmony_cifloat *v);
2055bd8deadSopenharmony_ci
2065bd8deadSopenharmony_ci    void TexCoord2fColor3fVertex3fSUN(float s, float t, 
2075bd8deadSopenharmony_ci				float r, float g, float b,
2085bd8deadSopenharmony_ci				float x, float y, float z);
2095bd8deadSopenharmony_ci    void TexCoord2fColor3fVertex3fvSUN(const float *tc, const float *c, const 
2105bd8deadSopenharmony_cifloat *v);
2115bd8deadSopenharmony_ci
2125bd8deadSopenharmony_ci    void TexCoord2fNormal3fVertex3fSUN(float s, float t, 
2135bd8deadSopenharmony_ci				float nx, float ny, float nz,
2145bd8deadSopenharmony_ci				float x, float y, float z);
2155bd8deadSopenharmony_ci    void TexCoord2fNormal3fVertex3fvSUN(const float *tc, const float *n, const 
2165bd8deadSopenharmony_cifloat *v);
2175bd8deadSopenharmony_ci
2185bd8deadSopenharmony_ci    void TexCoord2fColor4fNormal3fVertex3fSUN(float s, float t, 
2195bd8deadSopenharmony_ci				float r, float g, float b, float a,
2205bd8deadSopenharmony_ci				float nx, float ny, float nz,
2215bd8deadSopenharmony_ci				float x, float y, float z);
2225bd8deadSopenharmony_ci    void TexCoord2fColor4fNormal3fVertex3fvSUN(const float *tc, const float *c, 
2235bd8deadSopenharmony_ciconst float *n, 
2245bd8deadSopenharmony_ci						const float *v);
2255bd8deadSopenharmony_ci
2265bd8deadSopenharmony_ci    void TexCoord4fColor4fNormal3fVertex4fSUN(float s, float t, float p, float 
2275bd8deadSopenharmony_ciq,
2285bd8deadSopenharmony_ci				float r, float g, float b, float a,
2295bd8deadSopenharmony_ci				float nx, float ny, float nz,
2305bd8deadSopenharmony_ci				float x, float y, float z, float w);
2315bd8deadSopenharmony_ci    void TexCoord4fColor4fNormal3fVertex4fvSUN(const float *tc, const float *c, 
2325bd8deadSopenharmony_ciconst float *n, 
2335bd8deadSopenharmony_ci						const float *v);
2345bd8deadSopenharmony_ci
2355bd8deadSopenharmony_ci    void ReplacementCodeuiVertex3fSUN(uint rc, float x, float y, float z);
2365bd8deadSopenharmony_ci    void ReplacementCodeuiVertex3fvSUN(const uint *rc, const float *v);
2375bd8deadSopenharmony_ci
2385bd8deadSopenharmony_ci    void ReplacementCodeuiColor4ubVertex3fSUN(uint rc,
2395bd8deadSopenharmony_ci				ubyte r, ubyte g, ubyte b, ubyte a,
2405bd8deadSopenharmony_ci				float x, float y, float z);
2415bd8deadSopenharmony_ci    void ReplacementCodeuiColor4ubVertex3fvSUN(const uint *rc, const ubyte *c, 
2425bd8deadSopenharmony_ciconst float *v);
2435bd8deadSopenharmony_ci
2445bd8deadSopenharmony_ci    void ReplacementCodeuiColor3fVertex3fSUN(uint rc,
2455bd8deadSopenharmony_ci				float r, float g, float b,
2465bd8deadSopenharmony_ci				float x, float y, float z);
2475bd8deadSopenharmony_ci    void ReplacementCodeuiColor3fVertex3fvSUN(const uint *rc, const float *c, 
2485bd8deadSopenharmony_ciconst float *v);
2495bd8deadSopenharmony_ci
2505bd8deadSopenharmony_ci    void ReplacementCodeuiNormal3fVertex3fSUN(uint rc,
2515bd8deadSopenharmony_ci				float nx, float ny, float nz,
2525bd8deadSopenharmony_ci				float x, float y, float z);
2535bd8deadSopenharmony_ci    void ReplacementCodeuiNormal3fVertex3fvSUN(const uint *rc, const float *n, 
2545bd8deadSopenharmony_ciconst float *v);
2555bd8deadSopenharmony_ci
2565bd8deadSopenharmony_ci    void ReplacementCodeuiColor4fNormal3fVertex3fSUN(uint rc,
2575bd8deadSopenharmony_ci				float r, float g, float b, float a,
2585bd8deadSopenharmony_ci				float nx, float ny, float nz,
2595bd8deadSopenharmony_ci				float x, float y, float z);
2605bd8deadSopenharmony_ci    void ReplacementCodeuiColor4fNormal3fVertex3fvSUN(const uint *rc, const 
2615bd8deadSopenharmony_cifloat *c, 
2625bd8deadSopenharmony_ci							const float *n, const 
2635bd8deadSopenharmony_cifloat *v);
2645bd8deadSopenharmony_ci
2655bd8deadSopenharmony_ci    void ReplacementCodeuiTexCoord2fVertex3fSUN(uint rc,
2665bd8deadSopenharmony_ci				float s, float t,
2675bd8deadSopenharmony_ci				float x, float y, float z);
2685bd8deadSopenharmony_ci    void ReplacementCodeuiTexCoord2fVertex3fvSUN(const uint *rc, const float 
2695bd8deadSopenharmony_ci*tc, const float *v);
2705bd8deadSopenharmony_ci
2715bd8deadSopenharmony_ci    void ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(uint rc,
2725bd8deadSopenharmony_ci				float s, float t,
2735bd8deadSopenharmony_ci				float nx, float ny, float nz, 
2745bd8deadSopenharmony_ci				float x, float y, float z);
2755bd8deadSopenharmony_ci    void ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const uint *rc, const 
2765bd8deadSopenharmony_cifloat *tc, 
2775bd8deadSopenharmony_ci							const float *n, const 
2785bd8deadSopenharmony_cifloat *v);
2795bd8deadSopenharmony_ci
2805bd8deadSopenharmony_ci    void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(uint rc,
2815bd8deadSopenharmony_ci				float s, float t,
2825bd8deadSopenharmony_ci				float r, float g, float b, float a,
2835bd8deadSopenharmony_ci				float nx, float ny, float nz,
2845bd8deadSopenharmony_ci				float x, float y, float z);
2855bd8deadSopenharmony_ci    void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(
2865bd8deadSopenharmony_ci					const uint *rc, const float *tc, const 
2875bd8deadSopenharmony_cifloat *c, 
2885bd8deadSopenharmony_ci					const float *n, const float *v);
2895bd8deadSopenharmony_ci
2905bd8deadSopenharmony_ci
2915bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.2 Specification (Rasterization)
2925bd8deadSopenharmony_ci
2935bd8deadSopenharmony_ci    None
2945bd8deadSopenharmony_ci
2955bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.2 Specification (Per-Fragment Operations
2965bd8deadSopenharmony_ciand the Frame Buffer)
2975bd8deadSopenharmony_ci
2985bd8deadSopenharmony_ci    None
2995bd8deadSopenharmony_ci
3005bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.2 Specification (Special Functions)
3015bd8deadSopenharmony_ci
3025bd8deadSopenharmony_ci    None
3035bd8deadSopenharmony_ci
3045bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.2 Specification (State and State Requests)
3055bd8deadSopenharmony_ci
3065bd8deadSopenharmony_ci    None
3075bd8deadSopenharmony_ci
3085bd8deadSopenharmony_ciAdditions to the GLX / WGL / AGL Specifications
3095bd8deadSopenharmony_ci
3105bd8deadSopenharmony_ci    None
3115bd8deadSopenharmony_ci
3125bd8deadSopenharmony_ci
3135bd8deadSopenharmony_ciGLX Protocol
3145bd8deadSopenharmony_ci
3155bd8deadSopenharmony_ci    No new GLX protocol is added. The vertex components in the new GL commands 
3165bd8deadSopenharmony_ci    will be sent to remote servers using the regular GL protocols as if
3175bd8deadSopenharmony_ci    the vertex components are passed in using the regular GL commands.
3185bd8deadSopenharmony_ci
3195bd8deadSopenharmony_ci
3205bd8deadSopenharmony_ciDependencies on SUN_triangle_list
3215bd8deadSopenharmony_ci
3225bd8deadSopenharmony_ci    If SUN_triangle_list is supported, those GL commands which include
3235bd8deadSopenharmony_ci    a replacement code will be supported as well. Otherwise commands which
3245bd8deadSopenharmony_ci    include replacement codes are not supported.
3255bd8deadSopenharmony_ci
3265bd8deadSopenharmony_ci
3275bd8deadSopenharmony_ciErrors
3285bd8deadSopenharmony_ci
3295bd8deadSopenharmony_ci    None
3305bd8deadSopenharmony_ci
3315bd8deadSopenharmony_ciNew State
3325bd8deadSopenharmony_ci
3335bd8deadSopenharmony_ci    None
3345bd8deadSopenharmony_ci
3355bd8deadSopenharmony_ciNew Implementation Dependent State
3365bd8deadSopenharmony_ci
3375bd8deadSopenharmony_ci    None
338