Class NVTransformFeedback
- java.lang.Object
-
- org.lwjgl.opengl.NVTransformFeedback
-
public class NVTransformFeedback extends java.lang.ObjectNative bindings to the NV_transform_feedback extension.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
Fields Modifier and Type Field and Description static intGL_ACTIVE_VARYING_MAX_LENGTH_NV
GL_ACTIVE_VARYINGS_NVAccepted by thepnameparameter of GetProgramiv.static intGL_BACK_PRIMARY_COLOR_NV
GL_BACK_SECONDARY_COLOR_NV
GL_CLIP_DISTANCE_NV
GL_GENERIC_ATTRIB_NVAccepted by theattribsparameter of TransformFeedbackAttribsNV.static intGL_INTERLEAVED_ATTRIBS_NVAccepted by thebufferModeparameter of TransformFeedbackAttribsNV and TransformFeedbackVaryingsNV.static intGL_LAYER_NVAccepted by theattribsparameter of TransformFeedbackAttribsNV.static intGL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NVAccepted by thepnameparameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.static intGL_PRIMITIVE_ID_NVAccepted by theattribsparameter of TransformFeedbackAttribsNV.static intGL_PRIMITIVES_GENERATED_NVAccepted by thetargetparameter of BeginQuery, EndQuery, and GetQueryiv.static intGL_RASTERIZER_DISCARD_NVAccepted by thecapparameter of Enable, Disable, and IsEnabled, and by thepnameparameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.static intGL_SECONDARY_COLOR_NVAccepted by theattribsparameter of TransformFeedbackAttribsNV.static intGL_SEPARATE_ATTRIBS_NVAccepted by thebufferModeparameter of TransformFeedbackAttribsNV and TransformFeedbackVaryingsNV.static intGL_TEXTURE_COORD_NVAccepted by theattribsparameter of TransformFeedbackAttribsNV.static intGL_TRANSFORM_FEEDBACK_ATTRIBS_NVAccepted by thepnameparameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.static intGL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NVAccepted by theparamparameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT, and by thepnameparameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.static intGL_TRANSFORM_FEEDBACK_BUFFER_MODE_NVAccepted by thepnameparameter of GetBooleanv, GetDoublev, GetIntegerv, GetFloatv, and GetProgramiv.static intGL_TRANSFORM_FEEDBACK_BUFFER_NVAccepted by thetargetparameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, BindBufferRangeNV, BindBufferOffsetNV and BindBufferBaseNV.static intGL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV
GL_TRANSFORM_FEEDBACK_BUFFER_START_NVAccepted by theparamparameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.static intGL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NVAccepted by thetargetparameter of BeginQuery, EndQuery, and GetQueryiv.static intGL_TRANSFORM_FEEDBACK_RECORD_NVAccepted by theparamparameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.static intGL_TRANSFORM_FEEDBACK_VARYINGS_NVAccepted by thepnameparameter of GetProgramiv.static intGL_VERTEX_ID_NVAccepted by theattribsparameter of TransformFeedbackAttribsNV.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static voidglActiveVaryingNV(int program, java.nio.ByteBuffer name)static voidglActiveVaryingNV(int program, java.lang.CharSequence name)static voidglBeginTransformFeedbackNV(int primitiveMode)static voidglBindBufferBaseNV(int target, int index, int buffer)static voidglBindBufferOffsetNV(int target, int index, int buffer, long offset)static voidglBindBufferRangeNV(int target, int index, int buffer, long offset, long size)static voidglEndTransformFeedbackNV()static voidglGetActiveVaryingNV(int program, int index, int[] length, int[] size, int[] type, java.nio.ByteBuffer name)Array version of:GetActiveVaryingNVstatic voidglGetActiveVaryingNV(int program, int index, java.nio.IntBuffer length, java.nio.IntBuffer size, java.nio.IntBuffer type, java.nio.ByteBuffer name)static intglGetTransformFeedbackVaryingNV(int program, int index)static voidglGetTransformFeedbackVaryingNV(int program, int index, int[] location)Array version of:GetTransformFeedbackVaryingNVstatic voidglGetTransformFeedbackVaryingNV(int program, int index, java.nio.IntBuffer location)static intglGetVaryingLocationNV(int program, java.nio.ByteBuffer name)static intglGetVaryingLocationNV(int program, java.lang.CharSequence name)static voidglTransformFeedbackAttribsNV(int[] attribs, int bufferMode)Array version of:TransformFeedbackAttribsNVstatic voidglTransformFeedbackAttribsNV(java.nio.IntBuffer attribs, int bufferMode)static voidglTransformFeedbackStreamAttribsNV(int[] attribs, int[] bufstreams, int bufferMode)Array version of:TransformFeedbackStreamAttribsNVstatic voidglTransformFeedbackStreamAttribsNV(java.nio.IntBuffer attribs, java.nio.IntBuffer bufstreams, int bufferMode)static voidglTransformFeedbackVaryingsNV(int program, int[] locations, int bufferMode)Array version of:TransformFeedbackVaryingsNVstatic voidglTransformFeedbackVaryingsNV(int program, java.nio.IntBuffer locations, int bufferMode)
-
-
-
Field Detail
-
GL_TRANSFORM_FEEDBACK_BUFFER_NV
Accepted by thetargetparameters of BindBuffer, BufferData, BufferSubData, MapBuffer, UnmapBuffer, GetBufferSubData, GetBufferPointerv, BindBufferRangeNV, BindBufferOffsetNV and BindBufferBaseNV.
-
GL_TRANSFORM_FEEDBACK_BUFFER_START_NV, GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV, GL_TRANSFORM_FEEDBACK_RECORD_NV
Accepted by theparamparameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT.
-
GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV
Accepted by theparamparameter of GetIntegerIndexedvEXT and GetBooleanIndexedvEXT, and by thepnameparameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
-
GL_INTERLEAVED_ATTRIBS_NV, GL_SEPARATE_ATTRIBS_NV
Accepted by thebufferModeparameter of TransformFeedbackAttribsNV and TransformFeedbackVaryingsNV.
-
GL_PRIMITIVES_GENERATED_NV, GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV
Accepted by thetargetparameter of BeginQuery, EndQuery, and GetQueryiv.
-
GL_RASTERIZER_DISCARD_NV
Accepted by thecapparameter of Enable, Disable, and IsEnabled, and by thepnameparameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev.
-
GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV, GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV, GL_TRANSFORM_FEEDBACK_ATTRIBS_NV
Accepted by thepnameparameter of GetBooleanv, GetDoublev, GetIntegerv, and GetFloatv.
-
GL_ACTIVE_VARYINGS_NV, GL_ACTIVE_VARYING_MAX_LENGTH_NV, GL_TRANSFORM_FEEDBACK_VARYINGS_NV
Accepted by thepnameparameter of GetProgramiv.
-
GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV
Accepted by thepnameparameter of GetBooleanv, GetDoublev, GetIntegerv, GetFloatv, and GetProgramiv.
-
GL_BACK_PRIMARY_COLOR_NV, GL_BACK_SECONDARY_COLOR_NV, GL_TEXTURE_COORD_NV, GL_CLIP_DISTANCE_NV, GL_VERTEX_ID_NV, GL_PRIMITIVE_ID_NV, GL_GENERIC_ATTRIB_NV, GL_SECONDARY_COLOR_NV, GL_LAYER_NV
Accepted by theattribsparameter of TransformFeedbackAttribsNV.
-
-
Method Detail
-
glBeginTransformFeedbackNV
public static void glBeginTransformFeedbackNV(int primitiveMode)
-
glEndTransformFeedbackNV
public static void glEndTransformFeedbackNV()
-
glTransformFeedbackAttribsNV
public static void glTransformFeedbackAttribsNV(java.nio.IntBuffer attribs, int bufferMode)
-
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)
-
glTransformFeedbackVaryingsNV
public static void glTransformFeedbackVaryingsNV(int program, java.nio.IntBuffer locations, int bufferMode)
-
glActiveVaryingNV
public static void glActiveVaryingNV(int program, java.nio.ByteBuffer name)
-
glActiveVaryingNV
public static void glActiveVaryingNV(int program, java.lang.CharSequence name)
-
glGetVaryingLocationNV
public static int glGetVaryingLocationNV(int program, java.nio.ByteBuffer name)
-
glGetVaryingLocationNV
public static int glGetVaryingLocationNV(int program, java.lang.CharSequence name)
-
glGetActiveVaryingNV
public static void glGetActiveVaryingNV(int program, int index, java.nio.IntBuffer length, java.nio.IntBuffer size, java.nio.IntBuffer type, java.nio.ByteBuffer name)
-
glGetTransformFeedbackVaryingNV
public static void glGetTransformFeedbackVaryingNV(int program, int index, java.nio.IntBuffer location)
-
glGetTransformFeedbackVaryingNV
public static int glGetTransformFeedbackVaryingNV(int program, int index)
-
glTransformFeedbackStreamAttribsNV
public static void glTransformFeedbackStreamAttribsNV(java.nio.IntBuffer attribs, java.nio.IntBuffer bufstreams, int bufferMode)
-
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, int[] length, int[] size, int[] type, java.nio.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
-
-