Class EXTTransformFeedback
- java.lang.Object
-
- org.lwjgl.opengl.EXTTransformFeedback
-
public class EXTTransformFeedback extends java.lang.Object
Native bindings to the EXT_transform_feedback extension.This extension provides a new mode to the GL, called transform feedback, which records selected vertex attributes for each primitive processed by the GL. The selected attributes are written into buffer objects, and can be written with each attribute in a separate buffer object or with all attributes interleaved into a single buffer object. If a geometry shader is active, the primitives recorded are those emitted by the geometry shader. Otherwise, transform feedback captures primitives whose vertices are transformed by a vertex shader. In either case, the primitives captured are those generated prior to clipping. Transform feedback mode captures the values of specified varying variables emitted from GLSL vertex or geometry shaders.
The vertex data recorded in transform feedback mode is stored into buffer objects as an array of vertex attributes. The regular representation and the use of buffer objects allows the recorded data to be processed directly by the GL without requiring CPU intervention to copy data. In particular, transform feedback data can be used for vertex arrays (via vertex buffer objects), as the source for pixel data (via pixel buffer objects), as shader constant data (via the NV_parameter_buffer_object or
EXT_bindable_uniform
extensions), or via any other extension that makes use of buffer objects.This extension introduces new query object support to allow transform feedback mode to operate asynchronously. Query objects allow applications to determine when transform feedback results are complete, as well as the number of primitives processed and written back to buffer objects while in transform feedback mode. This extension also provides a new rasterizer discard enable, which allows applications to use transform feedback to capture vertex attributes without rendering anything.
Requires
OpenGL 2.0
orARB_shader_objects
. Promoted to core inOpenGL 3.0
.
-
-
Field Summary
Fields Modifier and Type Field and Description static int
GL_INTERLEAVED_ATTRIBS_EXT
Accepted by thebufferMode
parameter of TransformFeedbackVaryingsEXT.static int
GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXTAccepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.static int
GL_PRIMITIVES_GENERATED_EXT
Accepted by thetarget
parameter of BeginQuery, EndQuery, and GetQueryiv.static int
GL_RASTERIZER_DISCARD_EXT
Accepted by thecap
parameter of Enable, Disable, and IsEnabled, and by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.static int
GL_SEPARATE_ATTRIBS_EXT
Accepted by thebufferMode
parameter of TransformFeedbackVaryingsEXT.static int
GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT
Accepted by theparam
parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT, and by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.static int
GL_TRANSFORM_FEEDBACK_BUFFER_EXT
Accepted by thetarget
parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, BindBufferRangeEXT, BindBufferOffsetEXT and BindBufferBaseEXT.static int
GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT
Accepted by thepname
parameter of GetProgramiv.static int
GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT
GL_TRANSFORM_FEEDBACK_BUFFER_START_EXTAccepted by theparam
parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.static int
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT
Accepted by thetarget
parameter of BeginQuery, EndQuery, and GetQueryiv.static int
GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT
GL_TRANSFORM_FEEDBACK_VARYINGS_EXTAccepted by thepname
parameter of GetProgramiv.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static void
glBeginTransformFeedbackEXT(int primitiveMode)
static void
glBindBufferBaseEXT(int target, int index, int buffer)
static void
glBindBufferOffsetEXT(int target, int index, int buffer, long offset)
static void
glBindBufferRangeEXT(int target, int index, int buffer, long offset, long size)
static void
glEndTransformFeedbackEXT()
static boolean
glGetBooleanIndexedEXT(int param, int index)
static void
glGetBooleanIndexedvEXT(int param, int index, java.nio.ByteBuffer values)
static int
glGetIntegerIndexedEXT(int param, int index)
static void
glGetIntegerIndexedvEXT(int param, int index, int[] values)
Array version of:GetIntegerIndexedvEXT
static void
glGetIntegerIndexedvEXT(int param, int index, java.nio.IntBuffer values)
static void
glGetTransformFeedbackVaryingEXT(int program, int index, int[] length, int[] size, int[] type, java.nio.ByteBuffer name)
Array version of:GetTransformFeedbackVaryingEXT
static java.lang.String
glGetTransformFeedbackVaryingEXT(int program, int index, java.nio.IntBuffer size, java.nio.IntBuffer type)
static void
glGetTransformFeedbackVaryingEXT(int program, int index, java.nio.IntBuffer length, java.nio.IntBuffer size, java.nio.IntBuffer type, java.nio.ByteBuffer name)
static java.lang.String
glGetTransformFeedbackVaryingEXT(int program, int index, int bufSize, java.nio.IntBuffer size, java.nio.IntBuffer type)
static void
glTransformFeedbackVaryingsEXT(int program, java.lang.CharSequence[] varyings, int bufferMode)
static void
glTransformFeedbackVaryingsEXT(int program, java.lang.CharSequence varying, int bufferMode)
static void
glTransformFeedbackVaryingsEXT(int program, org.lwjgl.PointerBuffer varyings, int bufferMode)
-
-
-
Field Detail
-
GL_TRANSFORM_FEEDBACK_BUFFER_EXT
Accepted by thetarget
parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, BindBufferRangeEXT, BindBufferOffsetEXT and BindBufferBaseEXT.
-
GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT, GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT
Accepted by theparam
parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.
-
GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT
Accepted by theparam
parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT, and by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
-
GL_INTERLEAVED_ATTRIBS_EXT, GL_SEPARATE_ATTRIBS_EXT
Accepted by thebufferMode
parameter of TransformFeedbackVaryingsEXT.
-
GL_PRIMITIVES_GENERATED_EXT, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT
Accepted by thetarget
parameter of BeginQuery, EndQuery, and GetQueryiv.
-
GL_RASTERIZER_DISCARD_EXT
Accepted by thecap
parameter of Enable, Disable, and IsEnabled, and by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
-
GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT
Accepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
-
GL_TRANSFORM_FEEDBACK_VARYINGS_EXT, GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT, GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT
Accepted by thepname
parameter of GetProgramiv.
-
-
Method Detail
-
glBindBufferRangeEXT
public static void glBindBufferRangeEXT(int target, int index, int buffer, long offset, long size)
-
glBindBufferOffsetEXT
public static void glBindBufferOffsetEXT(int target, int index, int buffer, long offset)
-
glBindBufferBaseEXT
public static void glBindBufferBaseEXT(int target, int index, int buffer)
-
glBeginTransformFeedbackEXT
public static void glBeginTransformFeedbackEXT(int primitiveMode)
-
glEndTransformFeedbackEXT
public static void glEndTransformFeedbackEXT()
-
glTransformFeedbackVaryingsEXT
public static void glTransformFeedbackVaryingsEXT(int program, org.lwjgl.PointerBuffer varyings, int bufferMode)
-
glTransformFeedbackVaryingsEXT
public static void glTransformFeedbackVaryingsEXT(int program, java.lang.CharSequence[] varyings, int bufferMode)
-
glTransformFeedbackVaryingsEXT
public static void glTransformFeedbackVaryingsEXT(int program, java.lang.CharSequence varying, int bufferMode)
-
glGetTransformFeedbackVaryingEXT
public static void glGetTransformFeedbackVaryingEXT(int program, int index, java.nio.IntBuffer length, java.nio.IntBuffer size, java.nio.IntBuffer type, java.nio.ByteBuffer name)
-
glGetTransformFeedbackVaryingEXT
public static java.lang.String glGetTransformFeedbackVaryingEXT(int program, int index, int bufSize, java.nio.IntBuffer size, java.nio.IntBuffer type)
-
glGetTransformFeedbackVaryingEXT
public static java.lang.String glGetTransformFeedbackVaryingEXT(int program, int index, java.nio.IntBuffer size, java.nio.IntBuffer type)
-
glGetIntegerIndexedvEXT
public static void glGetIntegerIndexedvEXT(int param, int index, java.nio.IntBuffer values)
-
glGetIntegerIndexedEXT
public static int glGetIntegerIndexedEXT(int param, int index)
-
glGetBooleanIndexedvEXT
public static void glGetBooleanIndexedvEXT(int param, int index, java.nio.ByteBuffer values)
-
glGetBooleanIndexedEXT
public static boolean glGetBooleanIndexedEXT(int param, int index)
-
glGetTransformFeedbackVaryingEXT
public static void glGetTransformFeedbackVaryingEXT(int program, int index, int[] length, int[] size, int[] type, java.nio.ByteBuffer name)
Array version of:GetTransformFeedbackVaryingEXT
-
glGetIntegerIndexedvEXT
public static void glGetIntegerIndexedvEXT(int param, int index, int[] values)
Array version of:GetIntegerIndexedvEXT
-
-