Class NVTransformFeedback
This extension provides a new mode to the GL, called transform feedback, which records vertex attributes of the primitives 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 program or shader is active, the primitives recorded are those emitted by the geometry program. Otherwise, transform feedback captures primitives whose vertex are transformed by a vertex program or shader, or by fixed-function vertex processing. In either case, the primitives captured are those generated prior to clipping. Transform feedback mode is capable of capturing transformed vertex data generated by fixed-function vertex processing, outputs from assembly vertex or geometry programs, or 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 program constant data (via the NV_parameter_buffer_object or EXT_bindable_uniform extension), 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 1.5
.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Accepted by thepname
parameter of GetProgramiv.static final int
Accepted by thepname
parameter of GetProgramiv.static final int
Accepted by theattribs
parameter of TransformFeedbackAttribsNV.static final int
Accepted by theattribs
parameter of TransformFeedbackAttribsNV.static final int
Accepted by theattribs
parameter of TransformFeedbackAttribsNV.static final int
Accepted by theattribs
parameter of TransformFeedbackAttribsNV.static final int
Accepted by thebufferMode
parameter of TransformFeedbackAttribsNV and TransformFeedbackVaryingsNV.static final int
Accepted by theattribs
parameter of TransformFeedbackAttribsNV.static final int
Accepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.static final int
Accepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.static final int
Accepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.static final int
Accepted by theattribs
parameter of TransformFeedbackAttribsNV.static final int
Accepted by thetarget
parameter of BeginQuery, EndQuery, and GetQueryiv.static final int
Accepted by thecap
parameter of Enable, Disable, and IsEnabled, and by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.static final int
Accepted by theattribs
parameter of TransformFeedbackAttribsNV.static final int
Accepted by thebufferMode
parameter of TransformFeedbackAttribsNV and TransformFeedbackVaryingsNV.static final int
Accepted by theattribs
parameter of TransformFeedbackAttribsNV.static final int
Accepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.static final int
Accepted by theparam
parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT, and by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.static final int
Accepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, GetFloatv, and GetProgramiv.static final int
Accepted by thetarget
parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, BindBufferRangeNV, BindBufferOffsetNV and BindBufferBaseNV.static final int
Accepted by theparam
parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.static final int
Accepted by theparam
parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.static final int
Accepted by thetarget
parameter of BeginQuery, EndQuery, and GetQueryiv.static final int
Accepted by theparam
parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.static final int
Accepted by thepname
parameter of GetProgramiv.static final int
Accepted by theattribs
parameter of TransformFeedbackAttribsNV. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
glActiveVaryingNV
(int program, CharSequence name) static void
glActiveVaryingNV
(int program, ByteBuffer name) static void
glBeginTransformFeedbackNV
(int primitiveMode) static void
glBindBufferBaseNV
(int target, int index, int buffer) static void
glBindBufferOffsetNV
(int target, int index, int buffer, long offset) static void
glBindBufferRangeNV
(int target, int index, int buffer, long offset, long size) static void
static void
glGetActiveVaryingNV
(int program, int index, int[] length, int[] size, int[] type, ByteBuffer name) Array version of:GetActiveVaryingNV
static void
glGetActiveVaryingNV
(int program, int index, IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name) static int
glGetTransformFeedbackVaryingNV
(int program, int index) static void
glGetTransformFeedbackVaryingNV
(int program, int index, int[] location) Array version of:GetTransformFeedbackVaryingNV
static void
glGetTransformFeedbackVaryingNV
(int program, int index, IntBuffer location) static int
glGetVaryingLocationNV
(int program, CharSequence name) static int
glGetVaryingLocationNV
(int program, ByteBuffer name) static void
glTransformFeedbackAttribsNV
(int[] attribs, int bufferMode) Array version of:TransformFeedbackAttribsNV
static void
glTransformFeedbackAttribsNV
(IntBuffer attribs, int bufferMode) static void
glTransformFeedbackStreamAttribsNV
(int[] attribs, int[] bufstreams, int bufferMode) Array version of:TransformFeedbackStreamAttribsNV
static void
glTransformFeedbackStreamAttribsNV
(IntBuffer attribs, IntBuffer bufstreams, int bufferMode) static void
glTransformFeedbackVaryingsNV
(int program, int[] locations, int bufferMode) Array version of:TransformFeedbackVaryingsNV
static void
glTransformFeedbackVaryingsNV
(int program, IntBuffer locations, int bufferMode) static void
nglActiveVaryingNV
(int program, long name) static void
nglGetActiveVaryingNV
(int program, int index, int bufSize, long length, long size, long type, long name) static void
nglGetTransformFeedbackVaryingNV
(int program, int index, long location) static int
nglGetVaryingLocationNV
(int program, long name) static void
nglTransformFeedbackAttribsNV
(int count, long attribs, int bufferMode) static void
nglTransformFeedbackStreamAttribsNV
(int count, long attribs, int nbuffers, long bufstreams, int bufferMode) static void
nglTransformFeedbackVaryingsNV
(int program, int count, long locations, int bufferMode)
-
Field Details
-
GL_TRANSFORM_FEEDBACK_BUFFER_NV
public static final int GL_TRANSFORM_FEEDBACK_BUFFER_NVAccepted by thetarget
parameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, BindBufferRangeNV, BindBufferOffsetNV and BindBufferBaseNV.- See Also:
-
GL_TRANSFORM_FEEDBACK_BUFFER_START_NV
public static final int GL_TRANSFORM_FEEDBACK_BUFFER_START_NVAccepted by theparam
parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.- See Also:
-
GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV
public static final int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NVAccepted by theparam
parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.- See Also:
-
GL_TRANSFORM_FEEDBACK_RECORD_NV
public static final int GL_TRANSFORM_FEEDBACK_RECORD_NVAccepted by theparam
parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.- See Also:
-
GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV
public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NVAccepted by theparam
parameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT, and by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.- See Also:
-
GL_INTERLEAVED_ATTRIBS_NV
public static final int GL_INTERLEAVED_ATTRIBS_NVAccepted by thebufferMode
parameter of TransformFeedbackAttribsNV and TransformFeedbackVaryingsNV.- See Also:
-
GL_SEPARATE_ATTRIBS_NV
public static final int GL_SEPARATE_ATTRIBS_NVAccepted by thebufferMode
parameter of TransformFeedbackAttribsNV and TransformFeedbackVaryingsNV.- See Also:
-
GL_PRIMITIVES_GENERATED_NV
public static final int GL_PRIMITIVES_GENERATED_NVAccepted by thetarget
parameter of BeginQuery, EndQuery, and GetQueryiv.- See Also:
-
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV
public static final int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NVAccepted by thetarget
parameter of BeginQuery, EndQuery, and GetQueryiv.- See Also:
-
GL_RASTERIZER_DISCARD_NV
public static final int GL_RASTERIZER_DISCARD_NVAccepted by thecap
parameter of Enable, Disable, and IsEnabled, and by thepname
parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.- See Also:
-
GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV
public static final int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NVAccepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.- See Also:
-
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV
public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NVAccepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.- See Also:
-
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV
public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NVAccepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.- See Also:
-
GL_TRANSFORM_FEEDBACK_ATTRIBS_NV
public static final int GL_TRANSFORM_FEEDBACK_ATTRIBS_NVAccepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.- See Also:
-
GL_ACTIVE_VARYINGS_NV
public static final int GL_ACTIVE_VARYINGS_NVAccepted by thepname
parameter of GetProgramiv.- See Also:
-
GL_ACTIVE_VARYING_MAX_LENGTH_NV
public static final int GL_ACTIVE_VARYING_MAX_LENGTH_NVAccepted by thepname
parameter of GetProgramiv.- See Also:
-
GL_TRANSFORM_FEEDBACK_VARYINGS_NV
public static final int GL_TRANSFORM_FEEDBACK_VARYINGS_NVAccepted by thepname
parameter of GetProgramiv.- See Also:
-
GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV
public static final int GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NVAccepted by thepname
parameter of GetBooleanv, GetDoublev, GetIntegerv, GetFloatv, and GetProgramiv.- See Also:
-
GL_BACK_PRIMARY_COLOR_NV
public static final int GL_BACK_PRIMARY_COLOR_NVAccepted by theattribs
parameter of TransformFeedbackAttribsNV.- See Also:
-
GL_BACK_SECONDARY_COLOR_NV
public static final int GL_BACK_SECONDARY_COLOR_NVAccepted by theattribs
parameter of TransformFeedbackAttribsNV.- See Also:
-
GL_TEXTURE_COORD_NV
public static final int GL_TEXTURE_COORD_NVAccepted by theattribs
parameter of TransformFeedbackAttribsNV.- See Also:
-
GL_CLIP_DISTANCE_NV
public static final int GL_CLIP_DISTANCE_NVAccepted by theattribs
parameter of TransformFeedbackAttribsNV.- See Also:
-
GL_VERTEX_ID_NV
public static final int GL_VERTEX_ID_NVAccepted by theattribs
parameter of TransformFeedbackAttribsNV.- See Also:
-
GL_PRIMITIVE_ID_NV
public static final int GL_PRIMITIVE_ID_NVAccepted by theattribs
parameter of TransformFeedbackAttribsNV.- See Also:
-
GL_GENERIC_ATTRIB_NV
public static final int GL_GENERIC_ATTRIB_NVAccepted by theattribs
parameter of TransformFeedbackAttribsNV.- See Also:
-
GL_SECONDARY_COLOR_NV
public static final int GL_SECONDARY_COLOR_NVAccepted by theattribs
parameter of TransformFeedbackAttribsNV.- See Also:
-
GL_LAYER_NV
public static final int GL_LAYER_NVAccepted by theattribs
parameter of TransformFeedbackAttribsNV.- See Also:
-
-
Method Details
-
glBeginTransformFeedbackNV
public static void glBeginTransformFeedbackNV(int primitiveMode) -
glEndTransformFeedbackNV
public static void glEndTransformFeedbackNV() -
nglTransformFeedbackAttribsNV
public static void nglTransformFeedbackAttribsNV(int count, long attribs, int bufferMode) -
glTransformFeedbackAttribsNV
-
glBindBufferRangeNV
public static void glBindBufferRangeNV(int target, int index, int buffer, long offset, long size) -
glBindBufferOffsetNV
public static void glBindBufferOffsetNV(int target, int index, int buffer, long offset) -
glBindBufferBaseNV
public static void glBindBufferBaseNV(int target, int index, int buffer) -
nglTransformFeedbackVaryingsNV
public static void nglTransformFeedbackVaryingsNV(int program, int count, long locations, int bufferMode) -
glTransformFeedbackVaryingsNV
-
nglActiveVaryingNV
public static void nglActiveVaryingNV(int program, long name) -
glActiveVaryingNV
-
glActiveVaryingNV
-
nglGetVaryingLocationNV
public static int nglGetVaryingLocationNV(int program, long name) -
glGetVaryingLocationNV
-
glGetVaryingLocationNV
-
nglGetActiveVaryingNV
public static void nglGetActiveVaryingNV(int program, int index, int bufSize, long length, long size, long type, long name) -
glGetActiveVaryingNV
public static void glGetActiveVaryingNV(int program, int index, @Nullable IntBuffer length, IntBuffer size, IntBuffer type, ByteBuffer name) -
nglGetTransformFeedbackVaryingNV
public static void nglGetTransformFeedbackVaryingNV(int program, int index, long location) -
glGetTransformFeedbackVaryingNV
-
glGetTransformFeedbackVaryingNV
public static int glGetTransformFeedbackVaryingNV(int program, int index) -
nglTransformFeedbackStreamAttribsNV
public static void nglTransformFeedbackStreamAttribsNV(int count, long attribs, int nbuffers, long bufstreams, int bufferMode) -
glTransformFeedbackStreamAttribsNV
-
glTransformFeedbackAttribsNV
public static void glTransformFeedbackAttribsNV(int[] attribs, int bufferMode) Array version of:TransformFeedbackAttribsNV
-
glTransformFeedbackVaryingsNV
public static void glTransformFeedbackVaryingsNV(int program, int[] locations, int bufferMode) Array version of:TransformFeedbackVaryingsNV
-
glGetActiveVaryingNV
public static void glGetActiveVaryingNV(int program, int index, @Nullable int[] length, int[] size, int[] type, ByteBuffer name) Array version of:GetActiveVaryingNV
-
glGetTransformFeedbackVaryingNV
public static void glGetTransformFeedbackVaryingNV(int program, int index, int[] location) Array version of:GetTransformFeedbackVaryingNV
-
glTransformFeedbackStreamAttribsNV
public static void glTransformFeedbackStreamAttribsNV(int[] attribs, int[] bufstreams, int bufferMode) Array version of:TransformFeedbackStreamAttribsNV
-