The effect of
InterleavedArrays(format, stride, pointer);
is the same as the effect of the command sequence
if (f ormat or stride is invalid)
generate appropriate error
else {
int str;
set et , ec , en , st , sc , sv , tc , pc , pn , pv , and s as a function
of table 2.5 and the value of f ormat.
str = stride;
if (str is zero)
str = s;
DisableClientState(EDGE FLAG ARRAY);
DisableClientState(INDEX ARRAY);
DisableClientState(SECONDARY COLOR ARRAY);
DisableClientState(FOG COORD ARRAY);
if (et ) {
EnableClientState(TEXTURE COORD ARRAY);
TexCoordPointer(st , FLOAT, str, pointer);
} else
DisableClientState(TEXTURE COORD ARRAY);
if (ec ) {
EnableClientState(COLOR ARRAY);
ColorPointer(sc , tc , str, pointer + pc );
} else
DisableClientState(COLOR ARRAY);
if (en ) {
EnableClientState(NORMAL ARRAY);
NormalPointer(FLOAT, str, pointer + pn );
} else
DisableClientState(NORMAL ARRAY);
EnableClientState(VERTEX ARRAY);
VertexPointer(sv , FLOAT, str, pointer + pv );
}