154 lines
4.8 KiB
Plaintext
154 lines
4.8 KiB
Plaintext
'\"macro stdmacro
|
|
.ds Vn Version 1.2
|
|
.ds Dt 24 September 1999
|
|
.ds Re Release 1.2.1
|
|
.ds Dp Jan 14 18:30
|
|
.ds Dm 01 newlist.g
|
|
.ds Xs 55434 7 newlist.gl
|
|
.TH GLNEWLIST 3G
|
|
.SH NAME
|
|
.B "glNewList, glEndList
|
|
\- create or replace a display list
|
|
|
|
.SH C SPECIFICATION
|
|
void \f3glNewList\fP(
|
|
GLuint \fIlist\fP,
|
|
.nf
|
|
.ta \w'\f3void \fPglNewList( 'u
|
|
GLenum \fImode\fP )
|
|
.fi
|
|
|
|
.SH PARAMETERS
|
|
.TP \w'\f2list\fP\ \ 'u
|
|
\f2list\fP
|
|
Specifies the display-list name.
|
|
.TP
|
|
\f2mode\fP
|
|
Specifies the compilation mode,
|
|
which can be
|
|
\%\f3GL_COMPILE\fP or
|
|
\%\f3GL_COMPILE_AND_EXECUTE\fP.
|
|
.SH C SPECIFICATION
|
|
void \f3glEndList\fP( void )
|
|
.nf
|
|
.fi
|
|
|
|
.SH DESCRIPTION
|
|
Display lists are groups of GL commands that have been stored
|
|
for subsequent execution.
|
|
Display lists are created with \%\f3glNewList\fP.
|
|
All subsequent commands are placed in the display list,
|
|
in the order issued,
|
|
until \%\f3glEndList\fP is called.
|
|
.P
|
|
\%\f3glNewList\fP has two arguments.
|
|
The first argument,
|
|
\f2list\fP,
|
|
is a positive integer that becomes the unique name for the display list.
|
|
Names can be created and reserved with \%\f3glGenLists\fP
|
|
and tested for uniqueness with \%\f3glIsList\fP.
|
|
The second argument,
|
|
\f2mode\fP,
|
|
is a symbolic constant that can assume one of two values:
|
|
.TP 30
|
|
\%\f3GL_COMPILE\fP
|
|
Commands are merely compiled.
|
|
.TP
|
|
\%\f3GL_COMPILE_AND_EXECUTE\fP
|
|
Commands are executed as they are compiled into the display list.
|
|
.P
|
|
Certain commands are not compiled into the display list
|
|
but are executed immediately,
|
|
regardless of the display-list mode.
|
|
These commands are
|
|
\%\f3glAreTexturesResident\fP,
|
|
\%\f3glColorPointer\fP,
|
|
\%\f3glDeleteLists\fP,
|
|
\%\f3glDeleteTextures\fP,
|
|
\%\f3glDisableClientState\fP,
|
|
\%\f3glEdgeFlagPointer\fP,
|
|
\%\f3glEnableClientState\fP,
|
|
\%\f3glFeedbackBuffer\fP,
|
|
\%\f3glFinish\fP,
|
|
\%\f3glFlush\fP,
|
|
\%\f3glGenLists\fP,
|
|
\%\f3glGenTextures\fP,
|
|
\%\f3glIndexPointer\fP,
|
|
\%\f3glInterleavedArrays\fP,
|
|
\%\f3glIsEnabled\fP,
|
|
\%\f3glIsList\fP,
|
|
\%\f3glIsTexture\fP,
|
|
\%\f3glNormalPointer\fP,
|
|
\%\f3glPopClientAttrib\fP,
|
|
\%\f3glPixelStore\fP,
|
|
\%\f3glPushClientAttrib\fP,
|
|
\%\f3glReadPixels\fP,
|
|
\%\f3glRenderMode\fP,
|
|
\%\f3glSelectBuffer\fP,
|
|
\%\f3glTexCoordPointer\fP,
|
|
\%\f3glVertexPointer\fP,
|
|
and all of the \%\f3glGet\fP commands.
|
|
.P
|
|
Similarly,
|
|
\%\f3glTexImage1D\fP, \%\f3glTexImage2D\fP, and \%\f3glTexImage3D\fP
|
|
are executed immediately and not compiled into the display list when their
|
|
first argument is \%\f3GL_PROXY_TEXTURE_1D\fP, \%\f3GL_PROXY_TEXTURE_1D\fP, or
|
|
\%\f3GL_PROXY_TEXTURE_3D\fP, respectively.
|
|
.P
|
|
When the \%\f3GL_ARB_imaging\fP extension is supported,
|
|
\%\f3glHistogram\fP executes immediately when its argument is
|
|
\%\f3GL_PROXY_HISTOGRAM\fP. Similarly, \%\f3glColorTable\fP executes
|
|
immediately when its first argument is \%\f3glPROXY_COLOR_TABLE\fP,
|
|
\%\f3glPROXY_POST_CONVOLUTION_COLOR_TABLE\fP, or
|
|
\%\f3glPROXY_POST_COLOR_MATRIX_COLOR_TABLE\fP.
|
|
.P
|
|
When the \%\f3GL_ARB_multitexture\fP extension is supported,
|
|
\%\f3glClientActiveTextureARB\fP is not compiled into display lists, but
|
|
executed immediately.
|
|
.P
|
|
When \%\f3glEndList\fP is encountered,
|
|
the display-list definition is completed by associating the list
|
|
with the unique name \f2list\fP
|
|
(specified in the \%\f3glNewList\fP command).
|
|
If a display list with name \f2list\fP already exists,
|
|
it is replaced only when \%\f3glEndList\fP is called.
|
|
.SH NOTES
|
|
\%\f3glCallList\fP and \%\f3glCallLists\fP can be entered into display lists.
|
|
Commands in the display list or lists executed by \%\f3glCallList\fP
|
|
or \%\f3glCallLists\fP are not included in the display list being created,
|
|
even if the list creation mode is \%\f3GL_COMPILE_AND_EXECUTE\fP.
|
|
.P
|
|
A display list is just a group of commands and arguments, so errors
|
|
generated by commands in a display list must be generated when the list is
|
|
executed. If the list is created in \%\f3GL_COMPILE\fP mode, errors are
|
|
not generated until the list is executed.
|
|
.SH ERRORS
|
|
\%\f3GL_INVALID_VALUE\fP is generated if \f2list\fP is 0.
|
|
.P
|
|
\%\f3GL_INVALID_ENUM\fP is generated if \f2mode\fP is not an accepted value.
|
|
.P
|
|
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glEndList\fP is called
|
|
without a preceding \%\f3glNewList\fP,
|
|
or if \%\f3glNewList\fP is called while a display list is being defined.
|
|
.P
|
|
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glNewList\fP or \%\f3glEndList\fP
|
|
is executed between the execution of \%\f3glBegin\fP
|
|
and the corresponding execution of \%\f3glEnd\fP.
|
|
.P
|
|
\%\f3GL_OUT_OF_MEMORY\fP is generated if there is insufficient memory to
|
|
compile the display list. If the GL version is 1.1 or greater, no
|
|
change is made to the previous contents of the display list, if any,
|
|
and no other change is made to the GL state. (It is as if no attempt
|
|
had been made to create the new display list.)
|
|
.SH ASSOCIATED GETS
|
|
\%\f3glIsList\fP
|
|
.br
|
|
\%\f3glGet\fP with argument \%\f3GL_LIST_INDEX\fP
|
|
.br
|
|
\%\f3glGet\fP with argument \%\f3GL_LIST_MODE\fP
|
|
.SH SEE ALSO
|
|
\%\f3glCallList(3G)\fP,
|
|
\%\f3glCallLists(3G)\fP,
|
|
\%\f3glDeleteLists(3G)\fP,
|
|
\%\f3glGenLists(3G)\fP
|