'\" t .\" Title: glTransformFeedbackVaryings .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 01/03/2018 .\" Manual: [FIXME: manual] .\" Source: [FIXME: source] .\" Language: English .\" .TH "GLTRANSFORMFEEDBACKV" "3G" "01/03/2018" "[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" glTransformFeedbackVaryings \- specify values to record in transform feedback buffers .SH "C SPECIFICATION" .HP \w'void\ glTransformFeedbackVaryings('u .BI "void glTransformFeedbackVaryings(GLuint" "program" ", GLsizei" "count" ", const\ char\ **" "varyings" ", GLenum" "bufferMode" ");" .SH "PARAMETERS" .PP \fIprogram\fR .RS 4 The name of the target program object\&. .RE .PP \fIcount\fR .RS 4 The number of varying variables used for transform feedback\&. .RE .PP \fIvaryings\fR .RS 4 An array of \fIcount\fR zero\-terminated strings specifying the names of the varying variables to use for transform feedback\&. .RE .PP \fIbufferMode\fR .RS 4 Identifies the mode used to capture the varying variables when transform feedback is active\&. \fIbufferMode\fR must be \fBGL_INTERLEAVED_ATTRIBS\fR or \fBGL_SEPARATE_ATTRIBS\fR\&. .RE .SH "DESCRIPTION" .PP The names of the vertex or geometry shader outputs to be recorded in transform feedback mode are specified using \fBglTransformFeedbackVaryings\fR\&. When a geometry shader is active, transform feedback records the values of selected geometry shader output variables from the emitted vertices\&. Otherwise, the values of the selected vertex shader outputs are recorded\&. .PP The state set by \fBglTranformFeedbackVaryings\fR is stored and takes effect next time \fBglLinkProgram\fR() is called on \fIprogram\fR\&. When \fBglLinkProgram\fR() is called, \fIprogram\fR is linked so that the values of the specified varying variables for the vertices of each primitive generated by the GL are written to a single buffer object if \fIbufferMode\fR is \fBGL_INTERLEAVED_ATTRIBS\fR or multiple buffer objects if \fIbufferMode\fR is \fBGL_SEPARATE_ATTRIBS\fR\&. .PP In addition to the errors generated by \fBglTransformFeedbackVaryings\fR, the program \fIprogram\fR will fail to link if: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The count specified by \fBglTransformFeedbackVaryings\fR is non\-zero, but the program object has no vertex or geometry shader\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Any variable name specified in the \fIvaryings\fR array is not declared as an output in the vertex shader (or the geometry shader, if active)\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Any two entries in the \fIvaryings\fR array specify the same varying variable\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The total number of components to capture in any varying variable in \fIvaryings\fR is greater than the constant \fBGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS\fR and the buffer mode is \fBGL_SEPARATE_ATTRIBS\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} The total number of components to capture is greater than the constant \fBGL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS\fR and the buffer mode is \fBGL_INTERLEAVED_ATTRIBS\fR\&. .RE .sp .SH "NOTES" .PP \fBglGetTransformFeedbackVarying\fR is available only if the GL version is 3\&.0 or greater\&. .SH "ERRORS" .PP \fBGL_INVALID_VALUE\fR is generated if \fIprogram\fR is not the name of a program object\&. .PP \fBGL_INVALID_VALUE\fR is generated if \fIbufferMode\fR is \fBGL_SEPARATE_ATTRIBS\fR and \fIcount\fR is greater than the implementation\-dependent limit \fBGL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS\fR\&. .SH "ASSOCIATED GETS" .PP \fBglGetTransformFeedbackVarying\fR() .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. T{ \fBglTransformFeedbackVaryings\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" .PP \fBglBeginTransformFeedback\fR(), \fBglEndTransformFeedback\fR, \fBglGetTransformFeedbackVarying\fR() .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