1991-2006 Silicon Graphics, Inc.

glRenderMode

3G

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 initial 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 had been `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 if the render mode had 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`

- 0.

`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.

See the

glSelectBuffer

and

glFeedbackBuffer

reference pages for more details concerning selection and feedback operation.

## Notes

If an error is generated, `glRenderMode` returns 0 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

glFeedbackBuffer

is called while the render mode is `GL_FEEDBACK`, or if `glRenderMode` is called with argument `GL_FEEDBACK` before

glFeedbackBuffer

is called at least once.

`GL_INVALID_OPERATION` is generated if `glRenderMode` is executed between the execution of

glBegin

and the corresponding execution of

glEnd

.

## Associated Gets

glGet

with argument `GL_RENDER_MODE`

## See Also

glFeedbackBuffer

,

glInitNames

,

glLoadName

,

glPassThrough

,

glPushName

,

glSelectBuffer

## Copyright

Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.