_s_i_z_e Specifies the number of coordinates per vertex; must be 2, 3, or
4. The initial value is 4.
_t_y_p_e Specifies the data type of each coordinate in the array.
Symbolic constants GGGGLLLL____SSSSHHHHOOOORRRRTTTT, GGGGLLLL____IIIINNNNTTTT, GGGGLLLL____FFFFLLLLOOOOAAAATTTT, and GGGGLLLL____DDDDOOOOUUUUBBBBLLLLEEEE are
accepted. The initial value is GGGGLLLL____FFFFLLLLOOOOAAAATTTT.
_s_t_r_i_d_e Specifies the byte offset between consecutive vertexes. If
_s_t_r_i_d_e is 0, the vertexes are understood to be tightly packed in
the array. The initial value is 0.
_p_o_i_n_t_e_r Specifies a pointer to the first coordinate of the first vertex
in the array. The initial value is 0.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
ggggllllVVVVeeeerrrrtttteeeexxxxPPPPooooiiiinnnntttteeeerrrr specifies the location and data format of an array of
vertex coordinates to use when rendering. _s_i_z_e specifies the number of
coordinates per vertex and _t_y_p_e the data type of the coordinates. _s_t_r_i_d_e
specifies the byte stride from one vertex to the next allowing vertexes
and attributes to be packed into a single array or stored in separate
arrays. (Single-array storage may be more efficient on some
implementations; see ggggllllIIIInnnntttteeeerrrrlllleeeeaaaavvvveeeeddddAAAArrrrrrrraaaayyyyssss.) When a vertex array is
specified, _s_i_z_e, _t_y_p_e, _s_t_r_i_d_e, and _p_o_i_n_t_e_r are saved as client-side
state.
To enable and disable the vertex array, call ggggllllEEEEnnnnaaaabbbblllleeeeCCCClllliiiieeeennnnttttSSSSttttaaaatttteeee and
ggggllllDDDDiiiissssaaaabbbblllleeeeCCCClllliiiieeeennnnttttSSSSttttaaaatttteeee with the argument GGGGLLLL____VVVVEEEERRRRTTTTEEEEXXXX____AAAARRRRRRRRAAAAYYYY. If enabled, the
vertex array is used when ggggllllDDDDrrrraaaawwwwAAAArrrrrrrraaaayyyyssss, ggggllllDDDDrrrraaaawwwwEEEElllleeeemmmmeeeennnnttttssss, or ggggllllAAAArrrrrrrraaaayyyyEEEElllleeeemmmmeeeennnntttt
is called.
Use ggggllllDDDDrrrraaaawwwwAAAArrrrrrrraaaayyyyssss to construct a sequence of primitives (all of the same
type) from prespecified vertex and vertex attribute arrays. Use
ggggllllAAAArrrrrrrraaaayyyyEEEElllleeeemmmmeeeennnntttt to specify primitives by indexing vertexes and vertex
attributes and ggggllllDDDDrrrraaaawwwwEEEElllleeeemmmmeeeennnnttttssss to construct a sequence of primitives by
indexing vertexes and vertex attributes.
NNNNOOOOTTTTEEEESSSS
ggggllllVVVVeeeerrrrtttteeeexxxxPPPPooooiiiinnnntttteeeerrrr is available only if the GL version is 1.1 or greater.
The vertex array is initially disabled and isn't accessed when
ggggllllAAAArrrrrrrraaaayyyyEEEElllleeeemmmmeeeennnntttt, ggggllllDDDDrrrraaaawwwwEEEElllleeeemmmmeeeennnnttttssss or ggggllllDDDDrrrraaaawwwwAAAArrrrrrrraaaayyyyssss is called.
Execution of ggggllllVVVVeeeerrrrtttteeeexxxxPPPPooooiiiinnnntttteeeerrrr is not allowed between the execution of
ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd, but an error may or may
not be generated. If no error is generated, the operation is undefined.
ggggllllVVVVeeeerrrrtttteeeexxxxPPPPooooiiiinnnntttteeeerrrr is typically implemented on the client side.
Vertex array parameters are client-side state and are therefore not saved
or restored by ggggllllPPPPuuuusssshhhhAAAAttttttttrrrriiiibbbb and ggggllllPPPPooooppppAAAAttttttttrrrriiiibbbb. Use ggggllllPPPPuuuusssshhhhCCCClllliiiieeeennnnttttAAAAttttttttrrrriiiibbbb and
ggggllllIIIIssssEEEEnnnnaaaabbbblllleeeedddd with argument GGGGLLLL____VVVVEEEERRRRTTTTEEEEXXXX____AAAARRRRRRRRAAAAYYYY
ggggllllGGGGeeeetttt with argument GGGGLLLL____VVVVEEEERRRRTTTTEEEEXXXX____AAAARRRRRRRRAAAAYYYY____SSSSIIIIZZZZEEEE
ggggllllGGGGeeeetttt with argument GGGGLLLL____VVVVEEEERRRRTTTTEEEEXXXX____AAAARRRRRRRRAAAAYYYY____TTTTYYYYPPPPEEEE
ggggllllGGGGeeeetttt with argument GGGGLLLL____VVVVEEEERRRRTTTTEEEEXXXX____AAAARRRRRRRRAAAAYYYY____SSSSTTTTRRRRIIIIDDDDEEEE
ggggllllGGGGeeeettttPPPPooooiiiinnnntttteeeerrrrvvvv with argument GGGGLLLL____VVVVEEEERRRRTTTTEEEEXXXX____AAAARRRRRRRRAAAAYYYY____PPPPOOOOIIIINNNNTTTTEEEERRRR
On RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems, do not enable or
GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____CCCCOOOOOOOORRRRDDDD____AAAARRRRRRRRAAAAYYYY____EEEEXXXXTTTT, GGGGLLLL____EEEEDDDDGGGGEEEE____FFFFLLLLAAAAGGGG____AAAARRRRRRRRAAAAYYYY or GGGGLLLL____EEEEDDDDGGGGEEEE____FFFFLLLLAAAAGGGG____AAAARRRRRRRRAAAAYYYY____EEEEXXXXTTTT
between a call to ggggllllNNNNeeeewwwwLLLLiiiisssstttt and the corresponding call to ggggllllEEEEnnnnddddLLLLiiiisssstttt.
Instead, enable or disable before the call to ggggllllNNNNeeeewwwwLLLLiiiisssstttt.
On IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems it is particularly important to minimize the
amount of data transferred from the application to the graphics pipe,
since the host-to-pipe bandwidth limit can cause a performance
bottleneck. One way to reduce the amount of data transferred per vertex
is to use properly-aligned byte and short data types whenever possible.
Accordingly, the EEEEXXXXTTTT____vvvveeeerrrrtttteeeexxxx____aaaarrrrrrrraaaayyyy extension on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems
has been optimized for vertex information packed into the following data
structures. (Note: v represents vertex coordinates, c represents color
components, n represents normal coordinates, and t represents texture