aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/feedbackbuffer.gl
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/feedbackbuffer.gl')
-rw-r--r--nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/feedbackbuffer.gl237
1 files changed, 237 insertions, 0 deletions
diff --git a/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/feedbackbuffer.gl b/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/feedbackbuffer.gl
new file mode 100644
index 000000000..5d32f36df
--- /dev/null
+++ b/nx-X11/extras/ogl-sample/main/doc/man/mangl/standard/feedbackbuffer.gl
@@ -0,0 +1,237 @@
+_C_ License Applicability. Except to the extent portions of this file are
+_C_ made subject to an alternative license as permitted in the SGI Free
+_C_ Software License B, Version 1.1 (the "License"), the contents of this
+_C_ file are subject only to the provisions of the License. You may not use
+_C_ this file except in compliance with the License. You may obtain a copy
+_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
+_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
+_C_
+_C_ http://oss.sgi.com/projects/FreeB
+_C_
+_C_ Note that, as provided in the License, the Software is distributed on an
+_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
+_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
+_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
+_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
+_C_
+_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
+_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
+_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
+_C_ Copyright in any portions created by third parties is as indicated
+_C_ elsewhere herein. All Rights Reserved.
+_C_
+_C_ Additional Notice Provisions: The application programming interfaces
+_C_ established by SGI in conjunction with the Original Code are The
+_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
+_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
+_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
+_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
+_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
+_C_ published by SGI, but has not been independently verified as being
+_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
+_C_
+_C_ The first character in this file must be an '_'!
+_C_ Anything on a line after _C_ is ignored
+_define(_filters,tbl|eqn)_C_
+_C_ eqn is automatically replaced with neqn for nroff
+_header(FeedbackBuffer,controls feedback mode)
+_names(FeedbackBuffer)
+.EQ
+delim $$
+.EN
+.SH PARAMETERS
+_phead(_param1)
+Specifies the maximum number of values that can be written into _param3.
+_phead(_param2)
+Specifies a symbolic constant that describes the information
+that will be returned for each vertex.
+_const(2D),
+_const(3D),
+_const(3D_COLOR),
+_const(3D_COLOR_TEXTURE), and
+_const(4D_COLOR_TEXTURE) are accepted.
+_phead(_param3)
+Returns the feedback data.
+.SH DESCRIPTION
+The _cmnd function controls feedback.
+Feedback, like selection, is a GL mode.
+The mode is selected by calling
+_cmnd(RenderMode) with _const(FEEDBACK).
+When the GL is in feedback mode,
+no pixels are produced by rasterization.
+Instead, information about primitives that would have been
+rasterized is fed back to the application using the GL.
+.P
+_cmnd has three arguments:
+_param3 is a pointer to an array of floating-point values
+into which feedback information is placed.
+_param1 indicates the size of the array.
+_param2 is a symbolic constant describing the information
+that is fed back for each vertex.
+_cmnd must be issued before feedback mode is enabled
+(by calling _cmnd(RenderMode) with argument _const(FEEDBACK)).
+Setting _const(FEEDBACK) without establishing the feedback buffer,
+or calling _cmnd while the GL is in feedback mode,
+is an error.
+.P
+When _cmnd(RenderMode) 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 _param1. If the feedback
+data required more room than was available in _param3,
+_cmnd(RenderMode) returns a negative value.
+To take the GL out of feedback mode, call
+_cmnd(RenderMode) with a parameter value other than _const(FEEDBACK).
+.P
+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 flag is set.
+Each block begins with a code indicating the primitive type,
+followed by values that describe the primitive's vertices and
+associated data.
+Entries are also written for bitmaps and pixel rectangles.
+Feedback occurs after polygon culling and _cmnd(PolygonMode) 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 renders polygons by performing this decomposition.
+.P
+The _cmnd(PassThrough) command can be used to insert a marker
+into the feedback buffer.
+See _cmnd(PassThrough).
+.P
+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 _param2.
+Colors are fed back as four values in RGBA mode and one value
+in color index mode.
+.RS
+.na
+.sp
+feedbackList \(<- feedbackItem feedbackList | feedbackItem
+.sp
+feedbackItem \(<- point | lineSegment | polygon | bitmap | pixelRectangle | passThru
+.sp
+point \(<- _const(POINT_TOKEN) vertex
+.sp
+lineSegment \(<- _const(LINE_TOKEN) vertex vertex | _const(LINE_RESET_TOKEN) vertex vertex
+.sp
+polygon \(<- _const(POLYGON_TOKEN) n polySpec
+.sp
+polySpec \(<- polySpec vertex | vertex vertex vertex
+.sp
+bitmap \(<- _const(BITMAP_TOKEN) vertex
+.sp
+pixelRectangle \(<- _const(DRAW_PIXEL_TOKEN) vertex | _const(COPY_PIXEL_TOKEN) vertex
+.sp
+passThru \(<- _const(PASS_THROUGH_TOKEN) value
+.sp
+vertex \(<- 2d | 3d | 3dColor | 3dColorTexture | 4dColorTexture
+.sp
+2d \(<- value value
+.sp
+3d \(<- value value value
+.sp
+3dColor \(<- value value value color
+.sp
+3dColorTexture \(<- value value value color tex
+.sp
+4dColorTexture \(<- value value value value color tex
+.sp
+color \(<- rgba | index
+.sp
+rgba \(<- value value value value
+.sp
+index \(<- value
+.sp
+tex \(<- value value value value
+.sp
+.RE
+.P
+.I value
+is a floating-point number,
+and
+.I n
+is a floating-point integer giving the number of vertices in the polygon.
+_const(POINT_TOKEN),
+_const(LINE_TOKEN),
+_const(LINE_RESET_TOKEN),
+_const(POLYGON_TOKEN),
+_const(BITMAP_TOKEN),
+_const(DRAW_PIXEL_TOKEN),
+_const(COPY_PIXEL_TOKEN) and
+_const(PASS_THROUGH_TOKEN) are symbolic floating-point constants.
+_const(LINE_RESET_TOKEN) is returned whenever the line stipple pattern
+is reset.
+The data returned as a vertex depends on the feedback _param2.
+.P
+The following table gives the correspondence between _param2
+and the number of values per vertex.
+\f2k\fP is 1 in color index mode and 4 in RGBA mode.
+.sp
+.ne
+.TS
+center tab(:);
+lb lb cb cb cb
+l l c c c.
+_
+Type:Coordinates:Color:Texture:Total Number of Values
+_
+_const(2D):\f2x\fP, \f2y\fP:::2
+_const(3D):\f2x\fP, \f2y\fP, \f2z\fP:::3
+_const(3D_COLOR):\f2x\fP, \f2y\fP, \f2z\fP:$k$::$3 ~+~ k$
+_const(3D_COLOR_TEXTURE):\f2x\fP, \f2y\fP, \f2z\fP,:$k$:4:$7 ~+~ k$
+_const(4D_COLOR_TEXTURE):\f2x\fP, \f2y\fP, \f2z\fP, \f2w\fP:$k$:4:$8 ~+~ k$
+_
+.TE
+
+.P
+Feedback vertex coordinates are in window coordinates,
+except \f2w\fP,
+which is in clip coordinates.
+Feedback colors are lighted, if lighting is enabled.
+Feedback texture coordinates are generated,
+if texture coordinate generation is enabled.
+They are always transformed by the texture matrix.
+.SH NOTES
+_cmnd, when used in a display list, is not compiled into the display list
+but is executed immediately.
+.P
+When the _arbstring(multitexture) extension is supported, _cmnd
+returns only the texture coordinates of texture unit _arbconst(TEXTURE0).
+.SH ERRORS
+_const(INVALID_ENUM) is generated if _param2 is not an accepted value.
+.P
+_const(INVALID_VALUE) is generated if _param1 is negative.
+.P
+_const(INVALID_OPERATION) is generated if _cmnd is called while the
+render mode is _const(FEEDBACK),
+or if _cmnd(RenderMode) is called with argument _const(FEEDBACK) before
+_cmnd is called at least once.
+.P
+_const(INVALID_OPERATION) is generated if _cmnd
+is executed between the execution of _cmnd(Begin)
+and the corresponding execution of _cmnd(End).
+.SH ASSOCIATED GETS
+_cmnd(Get) with argument _const(RENDER_MODE)
+.br
+_cmnd(Get) with argument _const(FEEDBACK_BUFFER_POINTER)
+.br
+_cmnd(Get) with argument _const(FEEDBACK_BUFFER_SIZE)
+.br
+_cmnd(Get) with argument _const(FEEDBACK_BUFFER_TYPE)
+.SH SEE ALSO
+_cmnd(Begin),
+_cmnd(LineStipple),
+_cmnd(PassThrough),
+_cmnd(PolygonMode),
+_cmnd(RenderMode),
+_cmnd(SelectBuffer)