OpenGL man pages
glRenderMode.3gl
Name
glRenderMode - set rasterization mode
C Specification
GLint glRenderMode( GLenum mode )
Parameters
mode Specifies the rasterization mode. Three values are accepted:
GL_RENDER, GL_SELECT, and GL_FEEDBACK. The default value is
GL_RENDER.
Description
glRenderMode sets the rasterization mode. It takes one argument, mode,
which can assume one of three predefined values:
GL_RENDER Render mode. Primitives are rasterized, producing pixel
fragments, which are written into the frame buffer. This
is the normal mode and also the default mode.
GL_SELECT Selection mode. No pixel fragments are produced, and no
change to the frame buffer contents is made. Instead, a
record of the names of primitives that would have been
drawn if the render mode was GL_RENDER is returned in a
select buffer, which must be created (see glSelectBuffer)
before selection mode is entered.
GL_FEEDBACK Feedback mode. No pixel fragments are produced, and no
change to the frame buffer contents is made. Instead, the
coordinates and attributes of vertices that would have been
drawn had the render mode been GL_RENDER is returned in a
feedback buffer, which must be created (see
glFeedbackBuffer) before feedback mode is entered.
The return value of glRenderMode is determined by the render mode at the
time glRenderMode is called, rather than by mode. The values returned for
the three render modes are as follows:
GL_RENDER Zero.
GL_SELECT The number of hit records transferred to the select buffer.
GL_FEEDBACK The number of values (not vertices) transferred to the
feedback buffer.
Refer to the glSelectBuffer and glFeedbackBuffer reference pages for more
details concerning selection and feedback operation.
Notes
If an error is generated, glRenderMode returns zero regardless of the
current render mode.
Errors
GL_INVALID_ENUM is generated if mode is not one of the three accepted
values.
GL_INVALID_OPERATION is generated if glSelectBuffer is called while the
render mode is GL_SELECT, or if glRenderMode is called with argument
GL_SELECT before glSelectBuffer is called at least once.
GL_INVALID_OPERATION is generated if g