glFeedbackBuffer man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

glFeedbackBuffer(3G)					  glFeedbackBuffer(3G)

       glFeedbackBuffer - controls feedback mode

       void glFeedbackBuffer(
	       GLsizei size,
	       GLenum type,
	       GLfloat *buffer );

       Specifies the maximum number of values that can be written into buffer.
       Specifies a symbolic constant that describes the information that  will
       be    returned	for   each   vertex.	GL_2D,	 GL_3D,	  GL_3D_COLOR,
       GL_3D_COLOR_TEXTURE, and GL_4D_COLOR_TEXTURE are accepted.  Returns the
       feedback data.

       The  glFeedbackBuffer()	function  controls  feedback.	Feedback, like
       selection, is a GL mode. The mode is selected by calling glRenderMode()
       with  GL_FEEDBACK.  When the GL is in feedback mode, no pixels are pro‐
       duced by rasterization.	Instead,  information  about  primitives  that
       would have been rasterized is fed back to the application using the GL.

       glFeedbackBuffer() has three arguments: buffer is a pointer to an array
       of floating-point values into which  feedback  information  is  placed.
       size  indicates	the  size  of  the array.  type is a symbolic constant
       describing the information that is fed back for each  vertex.   glFeed‐
       backBuffer() must be issued before feedback mode is enabled (by calling
       glRenderMode() with argument GL_FEEDBACK). Setting GL_FEEDBACK  without
       establishing  the  feedback buffer, or calling glFeedbackBuffer() while
       the GL is in feedback mode, is an error.

       When glRenderMode() is called while in feedback mode,  it  returns  the
       number of entries placed in the feedback array, and resets the feedback
       array pointer to the base of the feedback buffer.  The  returned	 value
       never  exceeds  size.  If the feedback data required more room than was
       available in buffer, glRenderMode() returns a negative value.  To  take
       the GL out of feedback mode, call glRenderMode() with a parameter value
       other than GL_FEEDBACK.

       While in feedback mode, each primitive, bitmap, or pixel rectangle that
       would  be  rasterized  generates a block of values that are copied into
       the feedback array. If doing so would cause the number  of  entries  to
       exceed  the  maximum,  the block is partially written so as to fill the
       array (if there is any room left at all), and  an  overflow  option  is
       set.  Each block begins with a code indicating the primitive type, fol‐
       lowed by values that describe the primitive's vertices  and  associated
       data.  Entries are also written for bitmaps and pixel rectangles. Feed‐
       back occurs after polygon culling and glPolygonMode() interpretation of
       polygons	 has taken place, so polygons that are culled are not returned
       in the feedback buffer. It can also occur after polygons with more than
       three edges are broken up into triangles, if the GL implementation ren‐
       ders polygons by performing this decomposition.

       The glPassThrough() command can be used to insert  a  marker  into  the
       feedback buffer. See glPassThrough().

       Following  is  the  grammar  for	 the blocks of values written into the
       feedback buffer. Each primitive is indicated with a unique  identifying
       value  followed	by some number of vertices. Polygon entries include an
       integer value indicating how many vertices follow. A vertex is fed back
       as  some number of floating-point values, as determined by type. Colors
       are fed back as four values in RGBA mode and one value in  color	 index

       feedbackList <- feedbackItem feedbackList | feedbackItem
       feedbackItem <- point | lineSegment | polygon | bitmap | pixelRectangle | passThru
       point <- GL_POINT_TOKEN vertex
       lineSegment <- GL_LINE_TOKEN vertex vertex | GL_LINE_RESET_TOKENvertex vertex
       polygon <- GL_POLYGON_TOKEN n polySpec
       polySpec <- polySpec vertex | vertex vertex vertex
       bitmap <- GL_BITMAP_TOKEN vertex
       pixelRectangle <- GL_DRAW_PIXEL_TOKEN vertex | GL_COPY_PIXEL_TOKEN vertex
       passThru <- GL_PASS_THROUGH_TOKEN value
       vertex <- 2d | 3d | 3dColor | 3dColorTexture | 4dColorTexture
       2d <- value value
       3d <- value value value
       3dColor	<- value value value color
       3dColorTexture <- value value value color tex
       4dColorTexture <- value value value value color tex
       color <- rgba | index
       rgba <- value value value value
       index <- value
       tex <- value value value value

       value  is  a  floating-point  number, and n is a floating-point integer
       giving  the  number  of	vertices  in  the  polygon.    GL_POINT_TOKEN,
       symbolic	 floating-point	 constants.   GL_LINE_RESET_TOKEN  is returned
       whenever the line stipple pattern is reset. The data returned as a ver‐
       tex depends on the feedback type.

       The  following table gives the correspondence between type and the num‐
       ber of values per vertex.  k is 1 in color index mode  and  4  in  RGBA

       Type		     Coordinates    Color     Texture	Total  Number  of
       GL_2D		     x, y				2
       GL_3D		     x, y, z				3
       GL_3D_COLOR	     x, y, z	    k			3 + k
       GL_3D_COLOR_TEXTURE   x, y, z,	    k	      4		7 + k
       GL_4D_COLOR_TEXTURE   x, y, z, w	    k	      4		8 + k

       Feedback vertex coordinates are in window coordinates, except w,	 which
       is  in  clip  coordinates.  Feedback colors are lighted, if lighting is
       enabled. Feedback texture coordinates are generated, if texture coordi‐
       nate  generation is enabled. They are always transformed by the texture

       glFeedbackBuffer(), when used in a display list, is not	compiled  into
       the display list but is executed immediately.

       When the GL_ARB_multitexture extension is supported, glFeedbackBuffer()
       returns only the texture coordinates of texture unit GL_TEXTURE0_ARB.

       GL_INVALID_ENUM is generated if type is not an accepted value.

       GL_INVALID_VALUE is generated if size is negative.

       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  glFeedbackBuffer()  is  executed
       between	the  execution of glBegin() and the corresponding execution of

       glGet() with argument GL_RENDER_MODE
       glGet() with argument GL_FEEDBACK_BUFFER_POINTER
       glGet() with argument GL_FEEDBACK_BUFFER_SIZE
       glGet() with argument GL_FEEDBACK_BUFFER_TYPE

       glBegin(3),   glLineStipple(3),	 glPassThrough(3),   glPolygonMode(3),
       glRenderMode(3), glSelectBuffer(3)


List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net