GLAPI/glDrawTransformFeedbackInstanced

From OpenGL Wiki
< GLAPI
Revision as of 01:44, 27 September 2012 by AlfonsesCategoryBot (talk | contribs) (Bot: Adding better formatting.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
glDrawTransformFeedbackInstanced
Core in version 4.6
Core since version 4.2
Core ARB extension ARB_transform_feedback_instanced

glDrawTransformFeedbackInstanced: render multiple instances of primitives using a count derived from a transform feedback object

Function Definition

 void glDrawTransformFeedbackInstanced(GLenum mode​, GLuint id​, GLsizei instancecount​);
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.
instancecount
Specifies the number of instances of the geometry to render.

Description

glDrawTransformFeedbackInstanced draws multiple copies of a range of 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 glDrawTransformFeedbackInstanced is equivalent to calling glDrawArraysInstanced with mode​ and primcount​ as specified, first​ set to zero, and count​ set to the number of vertices captured on vertex stream zero the last time transform feedback was active on the transform feedback object named by id​.

Calling glDrawTransformFeedbackInstanced is equivalent to calling glDrawTransformFeedbackStreamInstanced 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, glDrawTransformFeedbackStream, glDrawTransformFeedbackStreamInstanced

Copyright

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