GLAPI/glGetTransformFeedbackVarying: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Bot: Adding better formatting.
m Bot: Adding better formatting.
Line 27: Line 27:
== Description ==
== Description ==


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 {{param|index}}. An {{param|index}} of 0 selects the first varying variable specified in the {{param|varyings}} array passed to {{apifunc|glTransformFeedbackVaryings}}, and an {{param|index}} of {{code|GL_TRANSFORM_FEEDBACK_VARYINGS-1}} selects the last such variable.
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 {{param|index}}. An {{param|index}} of 0 selects the first varying variable specified in the {{param|varyings}} array passed to {{apifunc|glTransformFeedbackVaryings}}, and an {{param|index}} of {{enum|GL_TRANSFORM_FEEDBACK_VARYINGS-1}} selects the last such variable.


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


The length of the longest varying name in program is given by {{code|GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH}}, which can be queried with {{apifunc|glGetProgram}}.
The length of the longest varying name in program is given by {{enum|GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH}}, which can be queried with {{apifunc|glGetProgram}}.


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


{{code|GL_INVALID_VALUE}} is generated if {{param|program}} is not the name of a program object.
{{enum|GL_INVALID_VALUE}} is generated if {{param|program}} is not the name of a program object.


{{code|GL_INVALID_VALUE}} is generated if {{param|index}} is greater or equal to the value of {{code|GL_TRANSFORM_FEEDBACK_VARYINGS}}.
{{enum|GL_INVALID_VALUE}} is generated if {{param|index}} is greater or equal to the value of {{enum|GL_TRANSFORM_FEEDBACK_VARYINGS}}.


{{code|GL_INVALID_OPERATION}} is generated {{param|program}} has not been linked.
{{enum|GL_INVALID_OPERATION}} is generated {{param|program}} has not been linked.


== Associated Gets ==
== Associated Gets ==


{{apifunc|glGetProgram}} with argument {{code|GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH}}.
{{apifunc|glGetProgram}} with argument {{enum|GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH}}.


== See Also ==
== See Also ==

Revision as of 17:25, 29 April 2012

glGetTransformFeedbackVarying
Core in version 4.6
Core since version 3.0

glGetTransformFeedbackVarying: retrieve information about varying variables selected for transform feedback

Function Definition

 void glGetTransformFeedbackVarying(GLuintprogram​, GLuintindex​, GLsizeibufSize​, GLsizei *length​, GLsizeisize​, GLenum *type​, char *name​);
program
The name of the target program object.
index
The index of the varying variable whose information to retrieve.
bufSize
The maximum number of characters, including the null terminator, that may be written into name​.
length
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.
size
The address of a variable that will receive the size of the varying.
type
The address of a variable that will recieve the type of the varying.
name
The address of a buffer into which will be written the name of the varying.

Description

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 GL_TRANSFORM_FEEDBACK_VARYINGS-1 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.

Errors

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

glGetProgram with argument GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH.

See Also

glBeginTransformFeedback, glEndTransformFeedback, glTransformFeedbackVaryings, glGetProgram

Copyright

Copyright © 2010 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/.