Top Description Fields Constructors Methods
org.lwjgl.opengl

public Class EXTTransformFeedback

extends Object
Class Inheritance
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

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 or ARB_shader_objects. Promoted to core in OpenGL 3.0.

Field Summary

Modifier and TypeField and Description
public static final int
GL_INTERLEAVED_ATTRIBS_EXT

Accepted by the bufferMode parameter of TransformFeedbackVaryingsEXT.

public static final int
GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

public static final int
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

public static final int
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

public static final int
GL_PRIMITIVES_GENERATED_EXT

Accepted by the target parameter of BeginQuery, EndQuery, and GetQueryiv.

public static final int
GL_RASTERIZER_DISCARD_EXT

Accepted by the cap parameter of Enable, Disable, and IsEnabled, and by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

public static final int
GL_SEPARATE_ATTRIBS_EXT

Accepted by the bufferMode parameter of TransformFeedbackVaryingsEXT.

public static final int
GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT

Accepted by the param parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT, and by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

public static final int
GL_TRANSFORM_FEEDBACK_BUFFER_EXT

Accepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, BindBufferRangeEXT, BindBufferOffsetEXT and BindBufferBaseEXT.

public static final int
GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT

Accepted by the pname parameter of GetProgramiv.

public static final int
GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT

Accepted by the param parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.

public static final int
GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT

Accepted by the param parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.

public static final int
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT

Accepted by the target parameter of BeginQuery, EndQuery, and GetQueryiv.

public static final int
GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT

Accepted by the pname parameter of GetProgramiv.

public static final int
GL_TRANSFORM_FEEDBACK_VARYINGS_EXT

Accepted by the pname parameter of GetProgramiv.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static native void
glBeginTransformFeedbackEXT(int primitiveMode)

public static native void
glBindBufferBaseEXT(int target, int index, int buffer)

public static native void
glBindBufferOffsetEXT(int target, int index, int buffer, long offset)

public static native void
glBindBufferRangeEXT(int target, int index, int buffer, long offset, long size)

public static native void
public static boolean
glGetBooleanIndexedEXT(int target, int index)

public static void
glGetBooleanIndexedvEXT(int target, int index, ByteBuffer data)

public static int
glGetIntegerIndexedEXT(int target, int index)

public static void
glGetIntegerIndexedvEXT(int target, int index, IntBuffer data)

public static void
glGetIntegerIndexedvEXT(int target, int index, int[] data)

Array version of: GetIntegerIndexedvEXT

public static void
glGetTransformFeedbackVaryingEXT(int program, int index, IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name)

public static String
glGetTransformFeedbackVaryingEXT(int program, int index, int bufSize, IntBuffer size, IntBuffer type)

public static String
glGetTransformFeedbackVaryingEXT(int program, int index, IntBuffer size, IntBuffer type)

public static void
glGetTransformFeedbackVaryingEXT(int program, int index, int[] length, int[] size, int[] type, ByteBuffer name)

Array version of: GetTransformFeedbackVaryingEXT

public static void
glTransformFeedbackVaryingsEXT(int program, PointerBuffer varyings, int bufferMode)

public static void
glTransformFeedbackVaryingsEXT(int program, CharSequence[] varyings, int bufferMode)

public static void
glTransformFeedbackVaryingsEXT(int program, CharSequence varying, int bufferMode)

public static void
nglGetBooleanIndexedvEXT(int target, int index, long data)

public static void
nglGetIntegerIndexedvEXT(int target, int index, long data)

public static native void
nglGetTransformFeedbackVaryingEXT(int program, int index, int bufSize, long length, long size, long type, long name)

public static native void
nglTransformFeedbackVaryingsEXT(int program, int count, long varyings, int bufferMode)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

GL_INTERLEAVED_ATTRIBS_EXTback to summary
public static final int GL_INTERLEAVED_ATTRIBS_EXT

Accepted by the bufferMode parameter of TransformFeedbackVaryingsEXT.

GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXTback to summary
public static final int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXTback to summary
public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXTback to summary
public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT

Accepted by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

GL_PRIMITIVES_GENERATED_EXTback to summary
public static final int GL_PRIMITIVES_GENERATED_EXT

Accepted by the target parameter of BeginQuery, EndQuery, and GetQueryiv.

GL_RASTERIZER_DISCARD_EXTback to summary
public static final int GL_RASTERIZER_DISCARD_EXT

Accepted by the cap parameter of Enable, Disable, and IsEnabled, and by the pname parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.

GL_SEPARATE_ATTRIBS_EXTback to summary
public static final int GL_SEPARATE_ATTRIBS_EXT

Accepted by the bufferMode parameter of TransformFeedbackVaryingsEXT.

GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXTback to summary
public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT

Accepted by the param parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT, and by the pname parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.

GL_TRANSFORM_FEEDBACK_BUFFER_EXTback to summary
public static final int GL_TRANSFORM_FEEDBACK_BUFFER_EXT

Accepted by the target parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, BindBufferRangeEXT, BindBufferOffsetEXT and BindBufferBaseEXT.

GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXTback to summary
public static final int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT

Accepted by the pname parameter of GetProgramiv.

GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXTback to summary
public static final int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT

Accepted by the param parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.

GL_TRANSFORM_FEEDBACK_BUFFER_START_EXTback to summary
public static final int GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT

Accepted by the param parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.

GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXTback to summary
public static final int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT

Accepted by the target parameter of BeginQuery, EndQuery, and GetQueryiv.

GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXTback to summary
public static final int GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT

Accepted by the pname parameter of GetProgramiv.

GL_TRANSFORM_FEEDBACK_VARYINGS_EXTback to summary
public static final int GL_TRANSFORM_FEEDBACK_VARYINGS_EXT

Accepted by the pname parameter of GetProgramiv.

Constructor Detail

EXTTransformFeedbackback to summary
protected EXTTransformFeedback()

Method Detail

glBeginTransformFeedbackEXTback to summary
public static native void glBeginTransformFeedbackEXT(int primitiveMode)
glBindBufferBaseEXTback to summary
public static native void glBindBufferBaseEXT(int target, int index, int buffer)
glBindBufferOffsetEXTback to summary
public static native void glBindBufferOffsetEXT(int target, int index, int buffer, long offset)
glBindBufferRangeEXTback to summary
public static native void glBindBufferRangeEXT(int target, int index, int buffer, long offset, long size)
glEndTransformFeedbackEXTback to summary
public static native void glEndTransformFeedbackEXT()
glGetBooleanIndexedEXTback to summary
public static boolean glGetBooleanIndexedEXT(int target, int index)
Annotations
@NativeType:void
glGetBooleanIndexedvEXTback to summary
public static void glGetBooleanIndexedvEXT(int target, int index, ByteBuffer data)
glGetIntegerIndexedEXTback to summary
public static int glGetIntegerIndexedEXT(int target, int index)
Annotations
@NativeType:void
glGetIntegerIndexedvEXTback to summary
public static void glGetIntegerIndexedvEXT(int target, int index, IntBuffer data)
glGetIntegerIndexedvEXTback to summary
public static void glGetIntegerIndexedvEXT(int target, int index, int[] data)

Array version of: GetIntegerIndexedvEXT

glGetTransformFeedbackVaryingEXTback to summary
public static void glGetTransformFeedbackVaryingEXT(int program, int index, IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name)
glGetTransformFeedbackVaryingEXTback to summary
public static String glGetTransformFeedbackVaryingEXT(int program, int index, int bufSize, IntBuffer size, IntBuffer type)
Annotations
@NativeType:void
glGetTransformFeedbackVaryingEXTback to summary
public static String glGetTransformFeedbackVaryingEXT(int program, int index, IntBuffer size, IntBuffer type)
Annotations
@NativeType:void
glGetTransformFeedbackVaryingEXTback to summary
public static void glGetTransformFeedbackVaryingEXT(int program, int index, int[] length, int[] size, int[] type, ByteBuffer name)

Array version of: GetTransformFeedbackVaryingEXT

glTransformFeedbackVaryingsEXTback to summary
public static void glTransformFeedbackVaryingsEXT(int program, PointerBuffer varyings, int bufferMode)
glTransformFeedbackVaryingsEXTback to summary
public static void glTransformFeedbackVaryingsEXT(int program, CharSequence[] varyings, int bufferMode)
glTransformFeedbackVaryingsEXTback to summary
public static void glTransformFeedbackVaryingsEXT(int program, CharSequence varying, int bufferMode)
nglGetBooleanIndexedvEXTback to summary
public static void nglGetBooleanIndexedvEXT(int target, int index, long data)
nglGetIntegerIndexedvEXTback to summary
public static void nglGetIntegerIndexedvEXT(int target, int index, long data)
nglGetTransformFeedbackVaryingEXTback to summary
public static native void nglGetTransformFeedbackVaryingEXT(int program, int index, int bufSize, long length, long size, long type, long name)
nglTransformFeedbackVaryingsEXTback to summary
public static native void nglTransformFeedbackVaryingsEXT(int program, int count, long varyings, int bufferMode)