fglRenderMode(3G)

fglRenderMode - set rasterization mode

As shipped in IRIX 6.5.22. Last changed in IRIX 6.5.15.

NAME
     fglRenderMode - set rasterization mode


FORTRAN SPECIFICATION
     INTEGER*4 fglRenderMode( INTEGER*4 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
     fglRenderMode 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
                     fglSelectBuffer) 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
                     fglFeedbackBuffer) before feedback mode is entered.

     The return value of fglRenderMode is determined by the render mode at the
     time fglRenderMode 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 fglSelectBuffer and fglFeedbackBuffer reference pages for more
     details concerning selection and feedback operation.
NOTES
     If an error is generated, fglRenderMode returns 0 regardless of the
     current render mode.

     One particularly surprising error condition occurs when the selection or
     feedback buffer is too large for the implementation to handle.  The
     problem might not be detected until fglRenderMode is executed, because
     buffer memory might not be allocated or locked down until that time.  In
     such a case, it is possible that the only indication of the error is that
     fglRenderMode will return zero.  Thus it is especially important to check
     the return value.

ERRORS
     GL_INVALID_ENUM is generated if mode is not one of the three accepted
     values.

     GL_INVALID_OPERATION is generated if fglSelectBuffer is called while the
     render mode is GL_SELECT, or if fglRenderMode is called with argument
     GL_SELECT before fglSelectBuffer is called at least once.

     GL_INVALID_OPERATION is generated if fglFeedbackBuffer is called while
     the render mode is GL_FEEDBACK, or if fglRenderMode is called with
     argument GL_FEEDBACK before fglFeedbackBuffer is called at least once.

     GL_INVALID_OPERATION is generated if fglRenderMode is executed between
     the execution of fglBegin and the corresponding execution of fglEnd.

ASSOCIATED GETS
     fglGet with argument GL_RENDER_MODE


SEE ALSO
     fglFeedbackBuffer, fglInitNames, fglLoadName, fglPassThrough,
     fglPushName, fglSelectBuffer