Difference between revisions of "GLAPI/glDrawTransformFeedbackStream"

From OpenGL.org
Jump to: navigation, search
m (Bot: Adding better formatting.)
m (Bot: Adding better formatting.)
 
(One intermediate revision by the same user not shown)
Line 12: Line 12:
  
 
; mode
 
; mode
: Specifies what kind of primitives to render. Symbolic constants {{code|GL_POINTS}}, {{code|GL_LINE_STRIP}}, {{code|GL_LINE_LOOP}}, {{code|GL_LINES}}, {{code|GL_LINE_STRIP_ADJACENCY}}, {{code|GL_LINES_ADJACENCY}}, {{code|GL_TRIANGLE_STRIP}}, {{code|GL_TRIANGLE_FAN}}, {{code|GL_TRIANGLES}}, {{code|GL_TRIANGLE_STRIP_ADJACENCY}}, {{code|GL_TRIANGLES_ADJACENCY}}, and {{code|GL_PATCHES}} are accepted.
+
: Specifies what kind of primitives to render. Symbolic constants {{enum|GL_POINTS}}, {{enum|GL_LINE_STRIP}}, {{enum|GL_LINE_LOOP}}, {{enum|GL_LINES}}, {{enum|GL_LINE_STRIP_ADJACENCY}}, {{enum|GL_LINES_ADJACENCY}}, {{enum|GL_TRIANGLE_STRIP}}, {{enum|GL_TRIANGLE_FAN}}, {{enum|GL_TRIANGLES}}, {{enum|GL_TRIANGLE_STRIP_ADJACENCY}}, {{enum|GL_TRIANGLES_ADJACENCY}}, and {{enum|GL_PATCHES}} are accepted.
 
; id
 
; id
 
: Specifies the name of a transform feedback object from which to retrieve a primitive count.
 
: Specifies the name of a transform feedback object from which to retrieve a primitive count.
Line 26: Line 26:
 
== Errors ==
 
== Errors ==
  
{{code|GL_INVALID_ENUM}} is generated if {{param|mode}} is not an accepted value.
+
{{enum|GL_INVALID_ENUM}} is generated if {{param|mode}} is not an accepted value.
  
{{code|GL_INVALID_VALUE}} is generated if {{param|id}} is not the name of a transform feedback object.
+
{{enum|GL_INVALID_VALUE}} is generated if {{param|id}} is not the name of a transform feedback object.
  
{{code|GL_INVALID_VALUE}} is generated if {{param|stream}} is greater than or equal to the value of {{code|GL_MAX_VERTEX_STREAMS}}.
+
{{enum|GL_INVALID_VALUE}} is generated if {{param|stream}} is greater than or equal to the value of {{enum|GL_MAX_VERTEX_STREAMS}}.
  
{{code|GL_INVALID_OPERATION}} is generated if a non-zero buffer object name is bound to an enabled array and the buffer object's data store is currently mapped.
+
{{enum|GL_INVALID_OPERATION}} is generated if a non-zero buffer object name is bound to an enabled array and the buffer object's data store is currently mapped.
  
{{code|GL_INVALID_OPERATION}} is generated if a geometry shader is active and {{param|mode}} is incompatible with the input primitive type of the geometry shader in the currently installed program object.
+
{{enum|GL_INVALID_OPERATION}} is generated if a geometry shader is active and {{param|mode}} is incompatible with the input primitive type of the geometry shader in the currently installed program object.
  
{{code|GL_INVALID_OPERATION}} is generated if {{param|mode}} is {{code|GL_PATCHES}} and no tessellation control shader is active.
+
{{enum|GL_INVALID_OPERATION}} is generated if {{param|mode}} is {{enum|GL_PATCHES}} and no tessellation control shader is active.
  
{{code|GL_INVALID_OPERATION}} is generated if {{apifunc|glEndTransformFeedback}} has never been called while the transform feedback object named by {{param|id}} was bound.
+
{{enum|GL_INVALID_OPERATION}} is generated if {{apifunc|glEndTransformFeedback}} has never been called while the transform feedback object named by {{param|id}} was bound.
  
 
== See Also ==
 
== See Also ==
  
{{apifunc|glDrawArrays}}, {{apifunc|glDrawArraysInstanced}}, {{apifunc|glDrawElements}}, {{apifunc|glDrawRangeElements}}, {{apifunc|glDrawTransformFeedback}}
+
{{apifunc|glBindVertexArray}}, {{apifunc|glDrawArrays}}, {{apifunc|glDrawTransformFeedback}}, {{apifunc|glDrawTransformFeedbackInstanced}}, {{apifunc|glDrawTransformFeedbackStreamInstanced}}
  
 
== Copyright ==
 
== Copyright ==

Latest revision as of 21:44, 26 September 2012

glDrawTransformFeedbackStream
Core in version 4.5
Core since version 4.0
Core ARB extension ARB_transform_feedback3

glDrawTransformFeedbackStream: render primitives using a count derived from a specifed stream of a transform feedback object

Function Definition

 void glDrawTransformFeedbackStream(GLenum mode​, GLuint id​, GLuint stream​);
mode
Specifies what kind of primitives to render. Symbolic constants GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_LINE_STRIP_ADJACENCY, GL_LINES_ADJACENCY, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES, GL_TRIANGLE_STRIP_ADJACENCY, GL_TRIANGLES_ADJACENCY, and GL_PATCHES are accepted.
id
Specifies the name of a transform feedback object from which to retrieve a primitive count.
stream
Specifies the index of the transform feedback stream from which to retrieve a primitive count.

Description

glDrawTransformFeedbackStream draws primitives of a type specified by mode​ using a count retrieved from the transform feedback stream specified by stream​ of the transform feedback object specified by id​. Calling glDrawTransformFeedbackStream is equivalent to calling glDrawArrays with mode​ as specified, first​ set to zero, and count​ set to the number of vertices captured on vertex stream stream​ the last time transform feedback was active on the transform feedback object named by id​.

Calling glDrawTransformFeedback is equivalent to calling glDrawTransformFeedbackStream with stream​ set to zero.

Errors

GL_INVALID_ENUM is generated if mode​ is not an accepted value.

GL_INVALID_VALUE is generated if id​ is not the name of a transform feedback object.

GL_INVALID_VALUE is generated if stream​ is greater than or equal to the value of GL_MAX_VERTEX_STREAMS.

GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to an enabled array and the buffer object's data store is currently mapped.

GL_INVALID_OPERATION is generated if a geometry shader is active and mode​ is incompatible with the input primitive type of the geometry shader in the currently installed program object.

GL_INVALID_OPERATION is generated if mode​ is GL_PATCHES and no tessellation control shader is active.

GL_INVALID_OPERATION is generated if glEndTransformFeedback has never been called while the transform feedback object named by id​ was bound.

See Also

glBindVertexArray, glDrawArrays, glDrawTransformFeedback, glDrawTransformFeedbackInstanced, glDrawTransformFeedbackStreamInstanced

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