'\" t .\" Title: glBeginTransformFeedback .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets v1.79.2 .\" Date: 05/21/2022 .\" Manual: [FIXME: manual] .\" Source: [FIXME: source] .\" Language: English .\" .TH "GLBEGINTRANSFORMFEED" "3G" "05/21/2022" "[FIXME: source]" "[FIXME: manual]" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" glBeginTransformFeedback \- start transform feedback operation .SH "C SPECIFICATION" .HP \w'void\ glBeginTransformFeedback('u .BI "void glBeginTransformFeedback(GLenum\ " "primitiveMode" ");" .HP \w'void\ glEndTransformFeedback('u .BI "void glEndTransformFeedback(" "void" ");" .SH "PARAMETERS FOR GLBEGINTRANSFORMFEEDBACK" .PP \fIprimitiveMode\fR .RS 4 Specify the output type of the primitives that will be recorded into the buffer objects that are bound for transform feedback\&. .RE .SH "DESCRIPTION" .PP 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 \fBglBeginTransformFeedback\fR until a subsequent call to \fBglEndTransformFeedback\fR\&. Transform feedback commands must be paired\&. .PP If no geometry shader is present, while transform feedback is active the \fImode\fR parameter to \fBglDrawArrays\fR() must match those specified in the following table: .TS allbox tab(:); lB lB. T{ \fB Transform Feedback \fR\fB\fIprimitiveMode\fR\fR\fB \fR T}:T{ \fB Allowed Render Primitive \fR\fB\fImodes\fR\fR\fB \fR T} .T& l l l l l l. T{ \fBGL_POINTS\fR T}:T{ \fBGL_POINTS\fR T} T{ \fBGL_LINES\fR T}:T{ \fBGL_LINES\fR, \fBGL_LINE_LOOP\fR, \fBGL_LINE_STRIP\fR, \fBGL_LINES_ADJACENCY\fR, \fBGL_LINE_STRIP_ADJACENCY\fR T} T{ \fBGL_TRIANGLES\fR T}:T{ \fBGL_TRIANGLES\fR, \fBGL_TRIANGLE_STRIP\fR, \fBGL_TRIANGLE_FAN\fR, \fBGL_TRIANGLES_ADJACENCY\fR, \fBGL_TRIANGLE_STRIP_ADJACENCY\fR T} .TE .sp 1 .PP If a geometry shader is present, the output primitive type from the geometry shader must match those provided in the following table: .TS allbox tab(:); lB lB. T{ \fB Transform Feedback \fR\fB\fIprimitiveMode\fR\fR\fB \fR T}:T{ \fB Allowed Geometry Shader Output Primitive Type \fR T} .T& l l l l l l. T{ \fBGL_POINTS\fR T}:T{ \fBpoints\fR T} T{ \fBGL_LINES\fR T}:T{ \fBline_strip\fR T} T{ \fBGL_TRIANGLES\fR T}:T{ \fBtriangle_strip\fR T} .TE .sp 1 .SH "NOTES" .PP Geometry shaders, and the \fBGL_TRIANGLES_ADJACENCY\fR, \fBGL_TRIANGLE_STRIP_ADJACENCY\fR, \fBGL_LINES_ADJACENCY\fR and \fBGL_LINE_STRIP_ADJACENCY\fR primtive modes are available only if the GL version is 3\&.2 or greater\&. .SH "ERRORS" .PP \fBGL_INVALID_OPERATION\fR is generated if \fBglBeginTransformFeedback\fR is executed while transform feedback is active\&. .PP \fBGL_INVALID_OPERATION\fR is generated if \fBglEndTransformFeedback\fR is executed while transform feedback is not active\&. .PP \fBGL_INVALID_OPERATION\fR is generated by \fBglDrawArrays\fR() if no geometry shader is present, transform feedback is active and \fImode\fR is not one of the allowed modes\&. .PP \fBGL_INVALID_OPERATION\fR is generated by \fBglDrawArrays\fR() 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 \fIprimitiveMode\fR\&. .PP \fBGL_INVALID_OPERATION\fR is generated by \fBglBeginTransformFeedback\fR if any binding point used in transform feedback mode does not have a buffer object bound\&. .PP \fBGL_INVALID_OPERATION\fR is generated by \fBglBeginTransformFeedback\fR 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\&. .SH "VERSION SUPPORT" .TS allbox tab(:); lB cB s s s s s s s s s s s lB cB cB cB cB cB cB cB cB cB cB cB cB. T{ T}:T{ \fBOpenGL Version\fR T} T{ \fBFunction / Feature Name\fR T}:T{ \fB2\&.0\fR T}:T{ \fB2\&.1\fR T}:T{ \fB3\&.0\fR T}:T{ \fB3\&.1\fR T}:T{ \fB3\&.2\fR T}:T{ \fB3\&.3\fR T}:T{ \fB4\&.0\fR T}:T{ \fB4\&.1\fR T}:T{ \fB4\&.2\fR T}:T{ \fB4\&.3\fR T}:T{ \fB4\&.4\fR T}:T{ \fB4\&.5\fR T} .T& l c c c c c c c c c c c c l c c c c c c c c c c c c. T{ \fBglBeginTransformFeedback\fR T}:T{ \- T}:T{ \- T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T} T{ \fBglEndTransformFeedback\fR T}:T{ \- T}:T{ \- T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T} .TE .sp 1 .SH "SEE ALSO" .SH "COPYRIGHT" .PP Copyright \(co 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\&. \m[blue]\fBhttp://opencontent\&.org/openpub/\fR\m[]\&. .SH "COPYRIGHT" .br Copyright \(co 2010-2014 Khronos Group .br