OpenGL.GL.NV.transform_feedback
OpenGL extension NV.transform_feedback
This module customises the behaviour of the
OpenGL.raw.GL.NV.transform_feedback to provide a more
Python-friendly API
Overview (from the spec)
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.
The official definition of this extension is available here:
http://www.opengl.org/registry/specs/NV/transform_feedback.txt
Functions
Constants
GL_ACTIVE_VARYING_MAX_LENGTH_NV (35970)
GL_ACTIVE_VARYINGS_NV (35969)
GL_BACK_PRIMARY_COLOR_NV (35959)
GL_BACK_SECONDARY_COLOR_NV (35960)
GL_CLIP_DISTANCE_NV (35962)
GL_GENERIC_ATTRIB_NV (35965)
GL_INTERLEAVED_ATTRIBS_NV (35980)
GL_LAYER_NV (36266)
GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV (35978)
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV (35979)
GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV (35968)
GL_NEXT_BUFFER_NV (-2)
GL_PRIMITIVE_ID_NV (35964)
GL_PRIMITIVES_GENERATED_NV (35975)
GL_RASTERIZER_DISCARD_NV (35977)
GL_SEPARATE_ATTRIBS_NV (35981)
GL_SKIP_COMPONENTS1_NV (-6)
GL_SKIP_COMPONENTS2_NV (-5)
GL_SKIP_COMPONENTS3_NV (-4)
GL_SKIP_COMPONENTS4_NV (-3)
GL_TEXTURE_COORD_NV (35961)
GL_TRANSFORM_FEEDBACK_ATTRIBS_NV (35966)
GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV (35983)
GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV (35967)
GL_TRANSFORM_FEEDBACK_BUFFER_NV (35982)
GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV (35973)
GL_TRANSFORM_FEEDBACK_BUFFER_START_NV (35972)
GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV (35976)
GL_TRANSFORM_FEEDBACK_RECORD_NV (35974)
GL_TRANSFORM_FEEDBACK_VARYINGS_NV (35971)
GL_VERTEX_ID_NV (35963)