Provided by: opengl-4-man-doc_1.0~svn33624-1_all bug

NAME

       glBeginTransformFeedback - start transform feedback operation

C SPECIFICATION

       void glBeginTransformFeedback(GLenum primitiveMode);

       void glEndTransformFeedback(void);

PARAMETERS FOR GLBEGINTRANSFORMFEEDBACK

       primitiveMode
           Specify the output type of the primitives that will be recorded into the buffer objects that are
           bound for transform feedback.

DESCRIPTION

       Transform feedback mode captures the values of varying variables written by the vertex shader (or, if
       active, the geometry shader). Transform feedback is said to be active after a call to
       glBeginTransformFeedback until a subsequent call to

       glEndTransformFeedback. Transform feedback commands must be paired.

       If no geometry shader is present, while transform feedback is active the mode parameter to glDrawArrays()
       must match those specified in the following table:

       ┌──────────────────────────────────────────┬─────────────────────────────────────────────────────────┐
       │                                          │                                                         │
       │                                TransformAllowed                 │
       │Feedback primitiveModeRender Primitive modes                                  │
       │                                          │                                                         │
       ├──────────────────────────────────────────┼─────────────────────────────────────────────────────────┤
       │GL_POINTSGL_POINTS                                               │
       ├──────────────────────────────────────────┼─────────────────────────────────────────────────────────┤
       │GL_LINESGL_LINES,                                               │
       │                                          │                             GL_LINE_LOOP,               │
       │                                          │                             GL_LINE_STRIP,              │
       │                                          │                             GL_LINES_ADJACENCY,         │
       │                                          │                             GL_LINE_STRIP_ADJACENCY     │
       ├──────────────────────────────────────────┼─────────────────────────────────────────────────────────┤
       │GL_TRIANGLESGL_TRIANGLES,                                           │
       │                                          │                             GL_TRIANGLE_STRIP,          │
       │                                          │                             GL_TRIANGLE_FAN,            │
       │                                          │                             GL_TRIANGLES_ADJACENCY,     │
       │                                          │                             GL_TRIANGLE_STRIP_ADJACENCY │
       └──────────────────────────────────────────┴─────────────────────────────────────────────────────────┘

       If a geometry shader is present, the output primitive type from the geometry shader must match those
       provided in the following table:

       ┌──────────────────────────────────────────┬─────────────────────────────────────────┐
       │                                          │                                         │
       │                                TransformAllowed │
       │Feedback primitiveModeGeometry Shader Output Primitive Type   │
       │                                          │                                         │
       ├──────────────────────────────────────────┼─────────────────────────────────────────┤
       │GL_POINTSpoints                                  │
       ├──────────────────────────────────────────┼─────────────────────────────────────────┤
       │GL_LINESline_strip                              │
       ├──────────────────────────────────────────┼─────────────────────────────────────────┤
       │GL_TRIANGLEStriangle_strip                          │
       └──────────────────────────────────────────┴─────────────────────────────────────────┘

NOTES

       Geometry shaders, and the GL_TRIANGLES_ADJACENCY, GL_TRIANGLE_STRIP_ADJACENCY, GL_LINES_ADJACENCY and
       GL_LINE_STRIP_ADJACENCY primtive modes are available only if the GL version is 3.2 or greater.

ERRORS

       GL_INVALID_OPERATION is generated if glBeginTransformFeedback is executed while transform feedback is
       active.

       GL_INVALID_OPERATION is generated if glEndTransformFeedback is executed while transform feedback is not
       active.

       GL_INVALID_OPERATION is generated by glDrawArrays() if no geometry shader is present, transform feedback
       is active and mode is not one of the allowed modes.

       GL_INVALID_OPERATION is generated by glDrawArrays() if a geometry shader is present, transform feedback
       is active and the output primitive type of the geometry shader does not match the transform feedback
       primitiveMode.

       GL_INVALID_OPERATION is generated by glEndTransformFeedback if any binding point used in transform
       feedback mode does not have a buffer object bound.

       GL_INVALID_OPERATION is generated by glEndTransformFeedback if no binding points would be used, either
       because no program object is active of because the active program object has specified no varying
       variables to record.

VERSION SUPPORT

       ┌─────────────────────────┬───────────────────────────────────────────────────────────────────────┐
       │                         │                OpenGL Version                                         │
       ├─────────────────────────┼─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┤
       │Function2.02.13.03.13.23.34.04.14.24.34.44.5 │
       │/                        │     │     │     │     │     │     │     │     │     │     │     │     │
       │Feature                  │     │     │     │     │     │     │     │     │     │     │     │     │
       │Name                     │     │     │     │     │     │     │     │     │     │     │     │     │
       ├─────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glBeginTransformFeedback │  -  │  -  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       ├─────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │glEndTransformFeedback   │  -  │  -  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │  ✔  │
       └─────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

SEE ALSO

COPYRIGHT

       Copyright © 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions
       set forth in the Open Publication License, v 1.0, 8 June 1999.  http://opencontent.org/openpub/.

COPYRIGHT

       Copyright © 2010-2014 Khronos Group

[FIXME: source]                                    01/03/2018                           GLBEGINTRANSFORMFEED(3G)