103 lines
3.4 KiB
Plaintext
103 lines
3.4 KiB
Plaintext
'\" te
|
|
'\"! tbl|eqn | mmdoc
|
|
'\"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 geterror.
|
|
.ds Xs 56466 6 geterror.gl
|
|
.TH GLGETERROR 3G
|
|
.SH NAME
|
|
.B "glGetError
|
|
\- return error information
|
|
|
|
.SH C SPECIFICATION
|
|
GLenum \f3glGetError\fP( void )
|
|
.nf
|
|
.fi
|
|
|
|
.SH DESCRIPTION
|
|
\%\f3glGetError\fP returns the value of the error flag.
|
|
Each detectable error is assigned a numeric code and symbolic name.
|
|
When an error occurs,
|
|
the error flag is set to the appropriate error code value.
|
|
No other errors are recorded until \%\f3glGetError\fP is called,
|
|
the error code is returned,
|
|
and the flag is reset to \%\f3GL_NO_ERROR\fP.
|
|
If a call to \%\f3glGetError\fP returns \%\f3GL_NO_ERROR\fP,
|
|
there has been no detectable error since the last call to \%\f3glGetError\fP,
|
|
or since the GL was initialized.
|
|
.P
|
|
To allow for distributed implementations,
|
|
there may be several error flags.
|
|
If any single error flag has recorded an error,
|
|
the value of that flag is returned
|
|
and that flag is reset to \%\f3GL_NO_ERROR\fP
|
|
when \%\f3glGetError\fP is called.
|
|
If more than one flag has recorded an error,
|
|
\%\f3glGetError\fP returns and clears an arbitrary error flag value.
|
|
Thus, \%\f3glGetError\fP should always be called in a loop,
|
|
until it returns \%\f3GL_NO_ERROR\fP,
|
|
if all error flags are to be reset.
|
|
.P
|
|
Initially, all error flags are set to \%\f3GL_NO_ERROR\fP.
|
|
.P
|
|
The following errors are currently defined:
|
|
.TP 30
|
|
\%\f3GL_NO_ERROR\fP
|
|
No error has been recorded.
|
|
The value of this symbolic constant is guaranteed to be 0.
|
|
.TP
|
|
\%\f3GL_INVALID_ENUM\fP
|
|
An unacceptable value is specified for an enumerated argument.
|
|
The offending command is ignored,
|
|
and has no other side effect than to set the error flag.
|
|
.TP
|
|
\%\f3GL_INVALID_VALUE\fP
|
|
A numeric argument is out of range.
|
|
The offending command is ignored,
|
|
and has no other side effect than to set the error flag.
|
|
.TP
|
|
\%\f3GL_INVALID_OPERATION\fP
|
|
The specified operation is not allowed in the current state.
|
|
The offending command is ignored,
|
|
and has no other side effect than to set the error flag.
|
|
.TP
|
|
\%\f3GL_STACK_OVERFLOW\fP
|
|
This command would cause a stack overflow.
|
|
The offending command is ignored,
|
|
and has no other side effect than to set the error flag.
|
|
.TP
|
|
\%\f3GL_STACK_UNDERFLOW\fP
|
|
This command would cause a stack underflow.
|
|
The offending command is ignored,
|
|
and has no other side effect than to set the error flag.
|
|
.TP
|
|
\%\f3GL_OUT_OF_MEMORY\fP
|
|
There is not enough memory left to execute the command.
|
|
The state of the GL is undefined,
|
|
except for the state of the error flags,
|
|
after this error is recorded.
|
|
.TP
|
|
\%\f3GL_TABLE_TOO_LARGE\fP
|
|
The specified table exceeds the implementation's maximum supported table
|
|
size. The offending command is ignored, and has no other side effect
|
|
than to set the error flag.
|
|
.P
|
|
When an error flag is set,
|
|
results of a GL operation are undefined only if \%\f3GL_OUT_OF_MEMORY\fP
|
|
has occurred.
|
|
In all other cases,
|
|
the command generating the error is ignored and has no effect on the GL state
|
|
or frame buffer contents.
|
|
If the generating command returns a value, it returns 0.
|
|
If \%\f3glGetError\fP itself generates an error, it returns 0.
|
|
.SH NOTES
|
|
\%\f3GL_TABLE_TOO_LARGE\fP was introduced in GL version 1.2.
|
|
.SH ERRORS
|
|
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetError\fP
|
|
is executed between the execution of \%\f3glBegin\fP
|
|
and the corresponding execution of \%\f3glEnd\fP.
|
|
In this case \%\f3glGetError\fP returns 0.
|