Transform Feedback: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
No edit summary
General outline.
Line 2: Line 2:
|{{Infobox feature
|{{Infobox feature
| core = 3.0
| core = 3.0
| core_extension = {{extref|transform_feedback2}}, {{extref|transform_feedback3}},
| core_extension = {{extref|transform_feedback2}},
{{extref|transform_feedback3}},
{{extref|transform_feedback_instanced}}
{{extref|transform_feedback_instanced}}
| ext_extension = {{extref|transform_feedback|EXT}}
| ext_extension = {{extref|transform_feedback|EXT}}
Line 11: Line 12:


'''Transform Feedback''' is the process of altering the rendering pipeline so that primitives processed by a [[Vertex Shader]] and optionally a [[Geometry Shader]] will be written to [[Buffer Objects|buffer objects]]. This allows one to preserve the post-transform rendering state of an object and resubmit this data multiple times.
'''Transform Feedback''' is the process of altering the rendering pipeline so that primitives processed by a [[Vertex Shader]] and optionally a [[Geometry Shader]] will be written to [[Buffer Objects|buffer objects]]. This allows one to preserve the post-transform rendering state of an object and resubmit this data multiple times.
== Overview ==
{{note|Mention will be made of various functions that deal with multiple stream output. Feedback into multiple streams requires access to OpenGL 4.0 or {{extref|transform_feedback3}} and {{extref|gpu_shader5}}. So if that is not available to you, ignore any such discussion.}}
== Shader setup ==
=== Advanced interleaving ===
{{infobox feature
| name = Advanced Feedback Interleaving
| version = 4.0
| core_extension = {{extref|transform_feedback3}}
}}
=== Multi-stream output ===
{{clear float}}
{{infobox feature
| name = Multi-Stream Output
| version = 4.0
| core_extension = {{extref|transform_feedback3}}
}}
== Buffer binding ==
== Feedback process ==
== Feedback objects ==
{{infobox feature
| name = Transform Feedback Objects
| core = 4.0
| core_extension = {{extref|transform_feedback2}}
}}
=== Feedback rendering ===
=== Feedback pausing and resuming ===


== Reference ==
== Reference ==

Revision as of 20:14, 16 October 2012

Transform Feedback
Core in version 4.6
Core since version 3.0
Core ARB extension

ARB_transform_feedback2, ARB_transform_feedback3,

ARB_transform_feedback_instanced
EXT extension EXT_transform_feedback
Vendor extension NV_transform_feedback

Transform Feedback is the process of altering the rendering pipeline so that primitives processed by a Vertex Shader and optionally a Geometry Shader will be written to buffer objects. This allows one to preserve the post-transform rendering state of an object and resubmit this data multiple times.

Overview

Note: Mention will be made of various functions that deal with multiple stream output. Feedback into multiple streams requires access to OpenGL 4.0 or ARB_transform_feedback3 and ARB_gpu_shader5. So if that is not available to you, ignore any such discussion.

Shader setup

Advanced interleaving

Advanced Feedback Interleaving
Core in version 4.0
Core ARB extension ARB_transform_feedback3

Multi-stream output


Multi-Stream Output
Core in version 4.0
Core ARB extension ARB_transform_feedback3

Buffer binding

Feedback process

Feedback objects

Transform Feedback Objects
Core in version 4.6
Core since version 4.0
Core ARB extension ARB_transform_feedback2

Feedback rendering

Feedback pausing and resuming

Reference