next up previous contents index
Next: 2.7 Vertex Specification Up: 2.6 Begin/End Paradigm Previous: 2.6.2 Polygon Edges

2.6.3 GL Commands within Begin/ End

The only GL commands that are allowed within any Begin / End  pairs are the commands for specifying vertex coordinates, vertex color, normal coordinates, and texture coordinates ( Vertex , Color , Index , Normal , TexCoord ), the ArrayElement  command (see section 2.8), the EvalCoord  and EvalPoint  commands (see section 5.1), commands for specifying lighting material parameters ( Material  commands; see section 2.13.2), display list invocation commands ( CallList  and CallLists ; see section 5.4), and the EdgeFlag  command. Executing any other GL command between the execution of Begin  and the corresponding execution of End  results in the error INVALID_OPERATION. Executing Begin  after Begin  has already been executed but before an End  is executed generates the INVALID_OPERATION error, as does executing End  without a previous corresponding Begin .

Execution of the commands EnableClientState , DisableClientState , PushClientAttrib , PopClientAttrib , EdgeFlagPointer , TexCoordPointer , ColorPointer , IndexPointer , NormalPointer , VertexPointer , InterleavedArrays , and PixelStore , is not allowed within any Begin / End  pair, but an error may or may not be generated if such execution occurs. If an error is not generated, GL operation is undefined. (These commands are described in sections 2.8, 3.6.1, and Chapter 6.)

David Blythe
Sat Mar 29 02:23:21 PST 1997