GLAPI/glGetTransformFeedbackVarying: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Renaming category: 'API Reference 4' to 'Core API Reference'.
m Bot: Adding better formatting.
 
(5 intermediate revisions by the same user not shown)
Line 8: Line 8:
== Function Definition ==
== Function Definition ==


   void '''glGetTransformFeedbackVarying'''(GLuint''program'', GLuint''index'', GLsizei''bufSize'', GLsizei *''length'', GLsizei''size'', GLenum *''type'', char *''name'');
   void '''glGetTransformFeedbackVarying'''(GLuint {{param|program}}, GLuint {{param|index}}, GLsizei {{param|bufSize}}, GLsizei *{{param|length}}, GLsizei {{param|size}}, GLenum *{{param|type}}, char *{{param|name}});


; program
; program
Line 15: Line 15:
: The index of the varying variable whose information to retrieve.
: The index of the varying variable whose information to retrieve.
; bufSize
; bufSize
: The maximum number of characters, including the null terminator, that may be written into ''name''.
: The maximum number of characters, including the null terminator, that may be written into {{param|name}}.
; length
; length
: The address of a variable which will receive the number of characters written into ''name'', excluding the null-terminator. If ''length'' is {{code|NULL}} no length is returned.
: The address of a variable which will receive the number of characters written into {{param|name}}, excluding the null-terminator. If {{param|length}} is {{enum|NULL}} no length is returned.
; size
; size
: The address of a variable that will receive the size of the varying.
: The address of a variable that will receive the size of the varying.
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 ''index''. An ''index'' of 0 selects the first varying variable specified in the ''varyings'' array passed to [[GLAPI/glTransformFeedbackVaryings|glTransformFeedbackVaryings]], and an ''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 ''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 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 [[GLAPI/glGetProgram|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 ''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 [[GLAPI/glGetActiveAttrib|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.
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.


== Errors ==
== Errors ==


{{code|GL_INVALID_VALUE}} is generated if ''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 ''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 ''program'' has not been linked.
{{enum|GL_INVALID_OPERATION}} is generated {{param|program}} has not been linked.


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


[[GLAPI/glGetProgram|glGetProgram]] with argument {{code|GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH}}.
{{apifunc|glGetProgram}} with argument {{enum|GL_TRANSFORM_FEEDBACK_VARYINGS}} or {{enum|GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH}}
 
{{apifunc|glGetProgramInterface}} with {{enum|GL_TRANSFORM_FEEDBACK_VARYING​}} and either {{enum|GL_ACTIVE_RESOURCES}} or {{enum|GL_MAX_NAME_LENGTH}}


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


[[GLAPI/glBeginTransformFeedback|glBeginTransformFeedback]], [[GLAPI/glEndTransformFeedback|glEndTransformFeedback]], [[GLAPI/glTransformFeedbackVaryings|glTransformFeedbackVaryings]], [[GLAPI/glGetProgram|glGetProgram]]
{{apifunc|glTransformFeedbackVaryings}}, {{apifunc|glGetProgramResource}}, {{apifunc|glGetProgramResourceName}}


== 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]]
[[Category:Program Object API State Functions|GetTransformFeedbackVarying]]

Latest revision as of 10:01, 15 August 2013

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(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/.