21.06.2014 Views

OpenGL 4.2 (Compatibility Profile) - April 27, 2012

OpenGL 4.2 (Compatibility Profile) - April 27, 2012

OpenGL 4.2 (Compatibility Profile) - April 27, 2012

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.7. VERTEX SPECIFICATION 32<br />

void VertexP{234}ui(enum type,uint coords);<br />

void VertexP{234}uiv(enum type,const uint *coords);<br />

These commands specify up to four coordinates as described above, packed<br />

into a single natural type as described in section 2.8.1. The type parameter<br />

must be INT_2_10_10_10_REV or UNSIGNED_INT_2_10_10_10_REV, specifying<br />

signed or unsigned data respectively. The first two (x, y), three (x, y, z),<br />

or four (x, y, z, w) components of the packed data are consumed by VertexP2ui,<br />

VertexP3ui, and VertexP4ui, respectively. For VertexP*uiv, coords contains the<br />

address of a single uint containing the packed coordinate components.<br />

A call to any Vertex command specifies four coordinates: x, y, z, and w. The<br />

x coordinate is the first coordinate, y is second, z is third, and w is fourth. A call<br />

to Vertex*2* sets the x and y coordinates; the z coordinate is implicitly set to zero<br />

and the w coordinate to one. Vertex*3* sets x, y, and z to the provided values<br />

and w to one. Vertex*4* sets all four coordinates, allowing the specification of an<br />

arbitrary point in projective three-space. Invoking a Vertex command outside of a<br />

Begin / End pair results in undefined behavior.<br />

Current values are used in associating auxiliary data with a vertex as described<br />

in section 2.5. A current value may be changed at any time by issuing an appropriate<br />

command. The commands<br />

void TexCoord{1234}{sifd}( T coords );<br />

void TexCoord{1234}{sifd}v( const T coords );<br />

specify the current homogeneous texture coordinates, named s, t, r, and q.<br />

Texture coordinates may be stored as packed components within a larger natural<br />

type. Such data may be specified using<br />

void TexCoordP{1234}ui(enum type,uint coords);<br />

void TexCoordP{1234}uiv(enum type,const uint<br />

*coords);<br />

This command specifies up to four components as described above, packed<br />

into a single natural type as described in section 2.8.1. The type parameter<br />

must be INT_2_10_10_10_REV or UNSIGNED_INT_2_10_10_10_REV, specifying<br />

signed or unsigned data, respectively. The first one (x), two (x, y), three<br />

(x, y, z), or four (x, y, z, w) components of the packed data are consumed by Tex-<br />

CoordP1ui*, TexCoordP2ui*, TexCoordP3ui*, and TexCoordP4ui*, respectively.<br />

For TexCoordP*uiv, coords contains the address of a single uint containing<br />

the packed texture coordinate components.<br />

<strong>OpenGL</strong> <strong>4.2</strong> (<strong>Compatibility</strong> <strong>Profile</strong>) - <strong>April</strong> <strong>27</strong>, <strong>2012</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!