Difference between revisions of "Transform Feedback"

From OpenGL.org
Jump to: navigation, search
(General outline.)
m (moving stub.)
Line 12: 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.
 +
 +
{{stub}}
  
 
== Overview ==
 
== Overview ==
Line 52: Line 54:
  
 
* [[:Category:Core API Ref Transform Feedback]]: Function documentation for all transform feedback commands, except for those that actually render with the results of a feedback operation.
 
* [[:Category:Core API Ref Transform Feedback]]: Function documentation for all transform feedback commands, except for those that actually render with the results of a feedback operation.
 
{{stub}}
 
  
 
[[Category:General OpenGL]]
 
[[Category:General OpenGL]]

Revision as of 05:04, 30 January 2013

Transform Feedback
Core in version 4.5
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.5
Core since version 4.0
Core ARB extension ARB_transform_feedback2

Feedback rendering

Feedback pausing and resuming

Reference