The EXT_transform_feedback extension allows applications to capture primitives to one or more buffer objects when transformed by the GL. This
extension provides a few additional capabilities to these extensions, making transform feedback mode more useful.
First, it provides transform feedback objects which encapsulate transform feedback-related state, allowing applications to replace the entire transform feedback configuration in a single bind call. Second, it provides the ability to pause and resume transform feedback operations. When transform feedback is paused, applications may render without transform feedback or may use transform feedback with different state and a different transform feedback object. When transform feedback is resumed, additional primitives are captured and appended to previously captured primitives for the object.
Additionally, this extension provides the ability to draw primitives captured in transform feedback mode without querying the captured primitive count.
The command DrawTransformFeedback is equivalent to glDrawArrays(<mode>, 0, <count>), where count is the number of
vertices captured to buffer objects during the last transform feedback capture operation on the transform feedback object used. This draw operation
only provides a vertex count -- it does not automatically set up vertex array state or vertex buffer object bindings, which must be done separately by
the application.
Requires GL20 or ARB_shader_objects and NV_transform_feedback or EXT_transform_feedback.
Promoted to core in OpenGL 4..
| Modifier and Type | Field and Description |
|---|---|
| public static final int | GL_TRANSFORM_FEEDBACK
Accepted by the |
| public static final int | GL_TRANSFORM_FEEDBACK_BINDING
Accepted by the |
| public static final int | GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE
Accepted by the |
| public static final int | GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED
Accepted by the |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public static void | glBindTransformFeedback(int target, int
the name of a transform feedback object id)Binds a transform feedback object. |
| public static void | glDeleteTransformFeedbacks(IntBuffer
an array of names of transform feedback objects to delete ids)Deletes transform feedback objects. |
| public static void | |
| public static void | |
| public static void | glDrawTransformFeedback(int mode, int
the name of a transform feedback object from which to retrieve a primitive count id)Render primitives using a count derived from a transform feedback object. |
| public static void | glGenTransformFeedbacks(IntBuffer
an array of into which the reserved names will be written ids)Reserves transform feedback object names. |
| public static int | |
| public static void | |
| public static boolean | glIsTransformFeedback(int
a value that may be the name of a transform feedback object id)Determines if a name corresponds to a transform feedback object. |
| public static void | glPauseTransformFeedback()
Pauses transform feedback operations for the currently bound transform feedback object. |
| public static void | glResumeTransformFeedback()
Resumes transform feedback operations for the currently bound transform feedback object. |
| public static void | nglDeleteTransformFeedbacks(int
the number of transform feedback objects to delete n, long ids)Unsafe version of: |
| public static void | nglGenTransformFeedbacks(int
the number of transform feedback object names to reserve n, long ids)Unsafe version of: |
| GL_TRANSFORM_FEEDBACK | back to summary |
|---|---|
| public static final int GL_TRANSFORM_FEEDBACK Accepted by the | |
| GL_TRANSFORM_FEEDBACK_BINDING | back to summary |
|---|---|
| public static final int GL_TRANSFORM_FEEDBACK_BINDING Accepted by the | |
| GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE | back to summary |
|---|---|
| public static final int GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE Accepted by the | |
| GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED | back to summary |
|---|---|
| public static final int GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED Accepted by the | |
| ARBTransformFeedback2 | back to summary |
|---|---|
| protected ARBTransformFeedback2() | |
| glBindTransformFeedback | back to summary | |
|---|---|---|
| public static void glBindTransformFeedback(int target, int id) Binds a transform feedback object.
| ||
| glDeleteTransformFeedbacks | back to summary |
|---|---|
| public static void glDeleteTransformFeedbacks(IntBuffer ids) Deletes transform feedback objects.
| |
| glDeleteTransformFeedbacks | back to summary |
|---|---|
| public static void glDeleteTransformFeedbacks(int id) Deletes transform feedback objects. | |
| glDeleteTransformFeedbacks | back to summary |
|---|---|
| public static void glDeleteTransformFeedbacks(int[] ids) Array version of: | |
| glDrawTransformFeedback | back to summary | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| public static void glDrawTransformFeedback(int mode, int id) Render primitives using a count derived from a transform feedback object.
| ||||||||||||||||
| glGenTransformFeedbacks | back to summary |
|---|---|
| public static void glGenTransformFeedbacks(IntBuffer ids) Reserves transform feedback object names.
| |
| glGenTransformFeedbacks | back to summary |
|---|---|
| public static int glGenTransformFeedbacks() Reserves transform feedback object names.
| |
| glGenTransformFeedbacks | back to summary |
|---|---|
| public static void glGenTransformFeedbacks(int[] ids) Array version of: | |
| glIsTransformFeedback | back to summary |
|---|---|
| public static boolean glIsTransformFeedback(int id) Determines if a name corresponds to a transform feedback object.
| |
| glPauseTransformFeedback | back to summary |
|---|---|
| public static void glPauseTransformFeedback() Pauses transform feedback operations for the currently bound transform feedback object. When transform feedback operations are paused, transform feedback is still considered active and changing most transform feedback state related to the
object results in an error. However, a new transform feedback object may be bound while transform feedback is paused. The error When transform feedback is active and not paused, all geometric primitives generated must be compatible with the value of | |
| glResumeTransformFeedback | back to summary |
|---|---|
| public static void glResumeTransformFeedback() Resumes transform feedback operations for the currently bound transform feedback object. The error | |
| nglDeleteTransformFeedbacks | back to summary |
|---|---|
| public static void nglDeleteTransformFeedbacks(int n, long ids) Unsafe version of:
| |
| nglGenTransformFeedbacks | back to summary |
|---|---|
| public static void nglGenTransformFeedbacks(int n, long ids) Unsafe version of:
| |