| Name |
| |
| SUN_vertex |
| |
| Name Strings |
| |
| GL_SUN_vertex |
| |
| Contact |
| |
| Jack Middleton, Sun (Jack.Middleton 'at' eng.sun.com) |
| |
| Status |
| |
| Shipping |
| |
| Version |
| |
| $Date: 1999/12/28 01:40:37 $ $Revision: 1.5 $ |
| SUN Date: 99/07/01 10:29:03 Revision: 1.7 |
| |
| Number |
| |
| 166 |
| |
| Dependencies |
| |
| SUN_triangle_list affects part of the definition of this extension |
| |
| Overview |
| |
| This extension provides new GL commands to specify vertex data such as |
| color and normal along with the vertex in one single GL command in order to |
| minimize the overhead in making GL commands for each set of vertex data. |
| |
| New Procedures and Functions |
| |
| void Color4ubVertex2fSUN(ubyte r, ubyte g, ubyte b, ubyte a, |
| float x, float y); |
| void Color4ubVertex2fvSUN(const ubyte *c, const float *v); |
| |
| void Color4ubVertex3fSUN(ubyte r, ubyte g, ubyte b, ubyte a, |
| float x, float y, float z); |
| void Color4ubVertex3fvSUN(const ubyte *c, const float *v); |
| |
| void Color3fVertex3fSUN(float r, float g, float b, |
| float x, float y, float z); |
| void Color3fVertex3fvSUN(const float *c, const float *v); |
| |
| void Normal3fVertex3fSUN(float nx, float ny, float nz, |
| float x, float y, float z); |
| void Normal3fVertex3fvSUN(const float *n, const float *v); |
| |
| void Color4fNormal3fVertex3fSUN(float r, float g, float b, float a, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void Color4fNormal3fVertex3fvSUN(const float *c, const float *n, const float |
| *v); |
| |
| void TexCoord2fVertex3fSUN(float s, float t, float x, float y, float z); |
| void TexCoord2fVertex3fvSUN(const float *tc, const float *v); |
| |
| void TexCoord4fVertex4fSUN(float s, float t, float p, float q, |
| float x, float y, float z, float w); |
| void TexCoord4fVertex4fvSUN(const float *tc, const float *v); |
| |
| void TexCoord2fColor4ubVertex3fSUN(float s, float t, |
| ubyte r, ubyte g, ubyte b, ubyte a, |
| float x, float y, float z); |
| void TexCoord2fColor4ubVertex3fvSUN(const float *tc, const ubyte *c, const |
| float *v); |
| |
| void TexCoord2fColor3fVertex3fSUN(float s, float t, |
| float r, float g, float b, |
| float x, float y, float z); |
| void TexCoord2fColor3fVertex3fvSUN(const float *tc, const float *c, const |
| float *v); |
| |
| void TexCoord2fNormal3fVertex3fSUN(float s, float t, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void TexCoord2fNormal3fVertex3fvSUN(const float *tc, const float *n, const |
| float *v); |
| |
| void TexCoord2fColor4fNormal3fVertex3fSUN(float s, float t, |
| float r, float g, float b, float a, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void TexCoord2fColor4fNormal3fVertex3fvSUN(const float *tc, const float *c, |
| const float *n, const float *v); |
| |
| void TexCoord4fColor4fNormal3fVertex4fSUN(float s, float t, float p, float |
| q, |
| float r, float g, float b, float a, |
| float nx, float ny, float nz, |
| float x, float y, float z, float w); |
| void TexCoord4fColor4fNormal3fVertex4fvSUN(const float *tc, const float *c, |
| const float *n, const float *v); |
| |
| void ReplacementCodeuiVertex3fSUN(uint rc, float x, float y, float z); |
| void ReplacementCodeuiVertex3fvSUN(const uint *rc, const float *v); |
| |
| void ReplacementCodeuiColor4ubVertex3fSUN(uint rc, |
| ubyte r, ubyte g, ubyte b, ubyte a, |
| float x, float y, float z); |
| void ReplacementCodeuiColor4ubVertex3fvSUN(const uint *rc, const ubyte *c, |
| const float *v); |
| |
| void ReplacementCodeuiColor3fVertex3fSUN(uint rc, |
| float r, float g, float b, |
| float x, float y, float z); |
| void ReplacementCodeuiColor3fVertex3fvSUN(const uint *rc, const float *c, |
| const float *v); |
| |
| void ReplacementCodeuiNormal3fVertex3fSUN(uint rc, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void ReplacementCodeuiNormal3fVertex3fvSUN(const uint *rc, const float *n, |
| const float *v); |
| |
| void ReplacementCodeuiColor4fNormal3fVertex3fSUN(uint rc, |
| float r, float g, float b, float a, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void ReplacementCodeuiColor4fNormal3fVertex3fvSUN(const uint *rc, const |
| float *c, |
| const float *n, const |
| float *v); |
| |
| void ReplacementCodeuiTexCoord2fVertex3fSUN(uint rc, |
| float s, float t, |
| float x, float y, float z); |
| void ReplacementCodeuiTexCoord2fVertex3fvSUN(const uint *rc, const float |
| *tc, const float *v); |
| |
| void ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(uint rc, |
| float s, float t, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const uint *rc, const |
| float *tc, |
| const float *n, const |
| float *v); |
| |
| void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(uint rc, |
| float s, float t, |
| float r, float g, float b, float a, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN( |
| const uint *rc, const float *tc, const |
| float *c, |
| const float *n, const float *v); |
| |
| |
| New Tokens |
| |
| None |
| |
| |
| Additions to Chapter 2 of the 1.2 Specification (OpenGL Operation) |
| |
| The following paragraph will be added to the end of section 2.7 |
| Vertex Specification. |
| |
| Multiple vertex data can also be specified in one single GL command |
| along with the vertex using the following GL commands. The order |
| of processing is always first texture coordinates, then colors, then |
| normals, |
| and vertex coordinates last. |
| |
| void Color4ubVertex2fSUN(ubyte r, ubyte g, ubyte b, ubyte a, |
| float x, float y); |
| void Color4ubVertex2fvSUN(const ubyte *c, const float *v); |
| |
| void Color4ubVertex3fSUN(ubyte r, ubyte g, ubyte b, ubyte a, |
| float x, float y, float z); |
| void Color4ubVertex3fvSUN(const ubyte *c, const float *v); |
| |
| void Color3fVertex3fSUN(float r, float g, float b, |
| float x, float y, float z); |
| void Color3fVertex3fvSUN(const float *c, const float *v); |
| |
| void Normal3fVertex3fSUN(float nx, float ny, float nz, |
| float x, float y, float z); |
| void Normal3fVertex3fvSUN(const float *n, const float *v); |
| |
| void Color4fNormal3fVertex3fSUN(float r, float g, float b, float a, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void Color4fNormal3fVertex3fvSUN(const float *n, const float *v); |
| |
| void TexCoord2fVertex3fSUN(float s, float t, float x, float y, float z); |
| void TexCoord2fVertex3fvSUN(const float *tc, const float *v); |
| |
| void TexCoord4fVertex4fSUN(float s, float t, float p, float q, |
| float x, float y, float z, float w); |
| void TexCoord4fVertex4fvSUN(const float *tc, const float *v); |
| |
| void TexCoord2fColor4ubVertex3fSUN(float s, float t, |
| ubyte r, ubyte g, ubyte b, ubyte a, |
| float x, float y, float z); |
| void TexCoord2fColor4ubVertex3fvSUN(const float *tc, const ubyte *c, const |
| float *v); |
| |
| void TexCoord2fColor3fVertex3fSUN(float s, float t, |
| float r, float g, float b, |
| float x, float y, float z); |
| void TexCoord2fColor3fVertex3fvSUN(const float *tc, const float *c, const |
| float *v); |
| |
| void TexCoord2fNormal3fVertex3fSUN(float s, float t, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void TexCoord2fNormal3fVertex3fvSUN(const float *tc, const float *n, const |
| float *v); |
| |
| void TexCoord2fColor4fNormal3fVertex3fSUN(float s, float t, |
| float r, float g, float b, float a, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void TexCoord2fColor4fNormal3fVertex3fvSUN(const float *tc, const float *c, |
| const float *n, |
| const float *v); |
| |
| void TexCoord4fColor4fNormal3fVertex4fSUN(float s, float t, float p, float |
| q, |
| float r, float g, float b, float a, |
| float nx, float ny, float nz, |
| float x, float y, float z, float w); |
| void TexCoord4fColor4fNormal3fVertex4fvSUN(const float *tc, const float *c, |
| const float *n, |
| const float *v); |
| |
| void ReplacementCodeuiVertex3fSUN(uint rc, float x, float y, float z); |
| void ReplacementCodeuiVertex3fvSUN(const uint *rc, const float *v); |
| |
| void ReplacementCodeuiColor4ubVertex3fSUN(uint rc, |
| ubyte r, ubyte g, ubyte b, ubyte a, |
| float x, float y, float z); |
| void ReplacementCodeuiColor4ubVertex3fvSUN(const uint *rc, const ubyte *c, |
| const float *v); |
| |
| void ReplacementCodeuiColor3fVertex3fSUN(uint rc, |
| float r, float g, float b, |
| float x, float y, float z); |
| void ReplacementCodeuiColor3fVertex3fvSUN(const uint *rc, const float *c, |
| const float *v); |
| |
| void ReplacementCodeuiNormal3fVertex3fSUN(uint rc, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void ReplacementCodeuiNormal3fVertex3fvSUN(const uint *rc, const float *n, |
| const float *v); |
| |
| void ReplacementCodeuiColor4fNormal3fVertex3fSUN(uint rc, |
| float r, float g, float b, float a, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void ReplacementCodeuiColor4fNormal3fVertex3fvSUN(const uint *rc, const |
| float *c, |
| const float *n, const |
| float *v); |
| |
| void ReplacementCodeuiTexCoord2fVertex3fSUN(uint rc, |
| float s, float t, |
| float x, float y, float z); |
| void ReplacementCodeuiTexCoord2fVertex3fvSUN(const uint *rc, const float |
| *tc, const float *v); |
| |
| void ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(uint rc, |
| float s, float t, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const uint *rc, const |
| float *tc, |
| const float *n, const |
| float *v); |
| |
| void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(uint rc, |
| float s, float t, |
| float r, float g, float b, float a, |
| float nx, float ny, float nz, |
| float x, float y, float z); |
| void ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN( |
| const uint *rc, const float *tc, const |
| float *c, |
| const float *n, const float *v); |
| |
| |
| Additions to Chapter 3 of the 1.2 Specification (Rasterization) |
| |
| None |
| |
| Additions to Chapter 4 of the 1.2 Specification (Per-Fragment Operations |
| and the Frame Buffer) |
| |
| None |
| |
| Additions to Chapter 5 of the 1.2 Specification (Special Functions) |
| |
| None |
| |
| Additions to Chapter 6 of the 1.2 Specification (State and State Requests) |
| |
| None |
| |
| Additions to the GLX / WGL / AGL Specifications |
| |
| None |
| |
| |
| GLX Protocol |
| |
| No new GLX protocol is added. The vertex components in the new GL commands |
| will be sent to remote servers using the regular GL protocols as if |
| the vertex components are passed in using the regular GL commands. |
| |
| |
| Dependencies on SUN_triangle_list |
| |
| If SUN_triangle_list is supported, those GL commands which include |
| a replacement code will be supported as well. Otherwise commands which |
| include replacement codes are not supported. |
| |
| |
| Errors |
| |
| None |
| |
| New State |
| |
| None |
| |
| New Implementation Dependent State |
| |
| None |