glGetTransformFeedbackVarying.3G man page

glGetTransformFeedbackVarying — retrieve information about varying variables selected for transform feedback

C Specification

void glGetTransformFeedbackVarying(GLuintprogram, GLuintindex, GLsizeibufSize, GLsizei *length, GLsizei *size, GLenum *type, char *name);



The name of the target program object.


The index of the varying variable whose information to retrieve.


The maximum number of characters, including the null terminator, that may be written into name.


The address of a variable which will receive the number of characters written into name, excluding the null-terminator. If length is NULL no length is returned.


The address of a variable that will receive the size of the varying.


The address of a variable that will recieve the type of the varying.


The address of a buffer into which will be written the name of the varying.


Information about the set of varying variables in a linked program that will be captured during transform feedback may be retrieved by calling glGetTransformFeedbackVarying. glGetTransformFeedbackVarying provides information about the varying variable selected by index. An index of 0 selects the first varying variable specified in the varyings array passed to glTransformFeedbackVaryings(), and an index of the value of GL_TRANSFORM_FEEDBACK_VARYINGS minus one selects the last such variable.

The name of the selected varying is returned as a null-terminated string in name. The actual number of characters written into name, excluding the null terminator, is returned in length. If length is NULL, no length is returned. The maximum number of characters that may be written into name, including the null terminator, is specified by bufSize.

The length of the longest varying name in program is given by GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH, which can be queried with glGetProgram().

For the selected varying variable, its type is returned into type. The size of the varying is returned into size. The value in size is in units of the type returned in type. The type returned can be any of the scalar, vector, or matrix attribute types returned by glGetActiveAttrib(). If an error occurred, the return parameters length, size, type and name will be unmodified. This command will return as much information about the varying variables as possible. If no information is available, length will be set to zero and name will be an empty string. This situation could arise if glGetTransformFeedbackVarying is called after a failed link.


GL_INVALID_VALUE is generated if program is not the name of a program object.

GL_INVALID_VALUE is generated if index is greater or equal to the value of GL_TRANSFORM_FEEDBACK_VARYINGS.

GL_INVALID_OPERATION is generated program has not been linked.

Associated Gets


See Also

glBeginTransformFeedback(), glEndTransformFeedback(), glTransformFeedbackVaryings(), glGetProgram()