GLAPI/glGetTransformFeedbackVarying: Difference between revisions
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 {{enum|GL_TRANSFORM_FEEDBACK_VARYINGS-1 | 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}}. | ||
Line 55: | Line 55: | ||
== Copyright == | == 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/ http://opencontent.org/openpub/]. | Copyright © 2010-2013 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/ http://opencontent.org/openpub/]. | ||
[[Category:Core API Ref Shader Program Query|GetTransformFeedbackVarying]] | [[Category:Core API Ref Shader Program Query|GetTransformFeedbackVarying]] | ||
[[Category:Core API Reference|GetTransformFeedbackVarying]] | [[Category:Core API Reference|GetTransformFeedbackVarying]] |
Revision as of 01:53, 25 July 2013
Core in version | 4.6 | |
---|---|---|
Core since version | 3.0 |
glGetTransformFeedbackVarying: retrieve information about varying variables selected for transform feedback
Function Definition
void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei size, 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_VARYINGS or GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH
glGetProgramInterface with GL_TRANSFORM_FEEDBACK_VARYING and either GL_ACTIVE_RESOURCES or GL_MAX_NAME_LENGTH
See Also
glTransformFeedbackVaryings, glGetProgramResource, glGetProgramResourceName
Copyright
Copyright © 2010-2013 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/.