Lines Matching refs:feedback
66 making transform feedback mode more useful.
68 First, it provides transform feedback objects which encapsulate transform
69 feedback-related state, allowing applications to replace the entire
70 transform feedback configuration in a single bind call. Second, it
71 provides the ability to pause and resume transform feedback operations.
72 When transform feedback is paused, applications may render without
73 transform feedback or may use transform feedback with different state and
74 a different transform feedback object. When transform feedback is
79 captured in transform feedback mode without querying the captured
82 captured to buffer objects during the last transform feedback capture
83 operation on the transform feedback object used. This draw operation only
122 In transform feedback mode, attributes of the vertices of transformed
134 state are stored in a transform feedback object. If a vertex or geometry
135 shader is active, the set of attributes captured in transform feedback
138 feedback object, as described below. The name space for transform
139 feedback objects is the unsigned integers. The name zero designates the
140 default transform feedback object.
146 returns <n> previously unused transform feedback object names in <ids>.
148 GenTransformFeedbacks only, but they acquire transform feedback state
151 Transform feedback objects are deleted by calling
155 <ids> contains <n> names of transform feedback objects to be deleted.
156 After a transform feedback object is deleted it has no contents, and its
158 the value zero. The default transform feedback object cannot be
159 deleted. If an active transform feedback object is deleted its name
167 if the transform feedback operation for any object named by <ids> is
170 A transform feedback object is created by binding a name
176 feedback object name. The resulting transform feedback object is a new
179 is used for subsequent transform feedback operations.
182 feedback object to the GL state for subsequent use. If the bind is
184 feedback object and any previous binding to <target> is broken.
186 While a transform feedback buffer object is bound, GL operations on the
187 target to which it is bound affect the bound transform feedback object,
188 and queries of the target to which a transform feedback object is bound
190 transform feedback, they are attached to the currently bound transform
191 feedback object. Buffer objects are used for transform feedback only if
192 they are attached to the currently bound transform feedback object.
194 In the initial state, a default transform feedback object is bound and
195 treated as a transform feedback object with a name of zero. That object
199 transform feedback operation is active on the currently bound transform
200 feedback object, and that operation is not paused (as described below).
210 Transform feedback for the currently bound transform feedback object is
219 respectively. Transform feedback is said to be active after a call to
223 bound for transform feedback (see below).
225 Transform feedback commands must be paired; the error INVALID_OPERATION is
226 generated by BeginTransformFeedback if transform feedback is active, and
227 by EndTransformFeedback if transform feedback is inactive. Transform
228 feedback is initially inactive.
230 Transform feedback operations for the currently bound transform feedback
239 respectively. When transform feedback operations are paused, transform
240 feedback is still considered active and changing most transform feedback
242 feedback object may be bound while transform feedback is paused. The
244 currently bound transform feedback is not active or is paused. The error
246 currently bound transform feedback is not active or is not paused.
248 When transform feedback is active and not paused, all geometric primitives
255 primitive type may be used while transform feedback is paused.
266 Table X.1 Legal combinations between the transform feedback primitive
270 Transform feedback mode captures the values of varying variables written by an
275 Buffer objects are made to be targets of transform feedback by calling one
283 buffer object binding points that are used while transform feedback is
294 be written to the buffer object while transform feedback mode is active.
309 The set of buffer objects used by a transform feedback object may not
310 change while transform feedback is active. The error INVALID_OPERATION
312 if <target> is TRANSFORM_FEEDBACK_BUFFER and transform feedback is
316 transform feedback stage while transform feedback is active and not
318 appended to the buffer objects bound to the transform feedback binding
332 When transform feedback is paused, no vertices are recorded. When
333 transform feedback is resumed, subsequent vertices are appended to the
335 transform feedback was paused.
337 When quads and polygons are provided to transform feedback with a
344 Transform feedback can operate in either INTERLEAVED_ATTRIBS or
347 into the buffer object bound to the first transform feedback binding point
352 attribute specified is written to the first transform feedback binding
354 transform feedback binding points. The total number of variables or
359 for transform feedback purposes would result in either exceeding the
367 In either separate or interleaved modes, all transform feedback binding
371 transform feedback mode does not have a buffer object bound. In
376 transform feedback-related state)
380 captured during transform feedback is taken from the active program object
381 and may not be changed while transform feedback is active. That program
383 while the transform feedback object is paused. The error
386 * by TransformFeedbackVaryings if the current transform feedback
389 * by UseProgram if the current transform feedback object is active and
393 or more transform feedback objects, even if the objects are not
397 current transform feedback object is not active.
402 When transform feedback is active, the values of varyings or transformed
404 current transform feedback object. After transform feedback is complete,
407 feedback is stored in the corresponding transform feedback object and may
414 to the number of vertices captured the last time transform feedback was
415 active on the transform feedback object named by <id>. The error
416 INVALID_VALUE is generated if <id> is not the name of a transform feedback
419 was bound. No error is generated if the transform feedback object named
438 Transform feedback objects: GenTransformFeedbacks,
453 returns TRUE if <id> is the name of a transform feedback object. If <id>
454 is a non-zero value that is not the name of a transform feedback object,
484 transform feedback operation is active on the currently bound transform
485 feedback object, and that operation is not paused (as described below).
488 the transform feedback operation for any object named by <ids> is
492 transform feedback is active.
495 transform feedback is inactive.
498 the currently bound transform feedback is not active or is paused.
501 if the currently bound transform feedback is not active or is not paused.
504 implicitly calls Begin (such as DrawElements) if transform feedback is
522 TRANSFORM_FEEDBACK_BUFFER and transform feedback is currently active.
525 any binding point used in transform feedback mode does not have a buffer
529 if the current transform feedback object is active, even if paused.
532 transform feedback object is active and not paused.
535 the name of a program being used by one or more transform feedback
539 the program object being used by the current transform feedback object is
543 is not the name of a transform feedback object.
558 transform feedback.
560 BUFFER_BINDING each transform feedback
564 feedback attrib. stream
567 TRANSFORM_FEEDBACK_ B GetBooleanv FALSE Is transform feedback 6.1.13 -
569 TRANSFORM_FEEDBACK_ B GetBooleanv FALSE Is transform feedback 6.1.13 -
572 [[ Note: This table includes all transform feedback state provided by
573 EXT_transform_feedback, except for transform feedback-related state
575 transform feedback-related state not present in these objects is the
583 BINDING feedback operations
592 captured in transform feedback mode?
594 RESOLVED: Adding a new transform feedback state object provides
599 feedback state, it is necessary to save the state of the paused
600 transform feedback operation somewhere. The transform feedback object
602 feedback object is also a convenient place to store final counts for
605 Additionally, the transform feedback object is helpful in ensuring
606 that the transform feedback state used when resuming transform
607 feedback is the same as when it was paused without a complicated error
609 transform feedback is active (even when paused), so the state can't
611 apply to transform feedback state stored separately in a GLSL program
612 object; you can't change them while transform feedback is active in
616 Alternately, the in-progress transform feedback state (e.g., vertex
620 2. Are transform feedback objects shared between contexts?
625 feedback objects between contexts doesn't seem particularly useful --
631 the primary type of object used in the original transform feedback
634 3. How do the new transform feedback objects interact with GLSL program
637 RESOLVED: The set of varyings captured during transform feedback and
645 while transform feedback is active. The same basic restrictions apply
647 program object while transform feedback is paused. In order to resume
648 transform feedback, the same program object must be active.
651 feedback object.
653 The actual buffer objects bound in transform feedback mode were bound
655 feedback extension.
657 4. Should we provide any behavior to "cancel" paused transform feedback
663 transform feedback operation, even if it is currently paused.
666 feedback object?
669 all the transform feedback state in one call. Additionally, it
671 transform feedback is active -- even if we switch objects while
674 6. Should we be able to use two different sets of transform feedback
679 in transform feedback that are produced by DrawTransformFeedback.
680 Requiring that applications use the a single transform feedback object
685 7. How should the second transform feedback object used for rendering be
689 DrawTransformFeedback() accept a transform feedback object ID.
696 8. Can a single transform feedback object be used for both capture and
702 when the previous transform feedback operation on that object
703 completes (by an EndTransformFeedback call). If transform feedback
709 from the previous transform feedback operation? If not, does it
715 transform feedback against the inputs of a different vertex shader.
720 written to during the previous transform feedback operation, and are
723 information the draw call uses from the previous transform feedback
728 transform feedback operation?
732 11. What happens on if DrawTransformFeedback() uses a transform feedback
736 RESOLVED: Any primitives discarded during a transform feedback
740 12. How does the ability to pause/resume transform feedback interact with
745 The transform feedback-related query objects and transform feedback
746 objects are completely independent. If multiple transform feedback
749 feedback object.
752 transform feedback is paused, because no primitives will be written to
753 buffers while transform feedback is paused.
756 primitives recorded in the last transform feedback operation on an
762 14. Can a buffer object be attached to more than one transform feedback
765 RESOLVED: Yes. Applications using transform feedback should avoid
766 cases where transform feedback operations can conflict, including:
772 is written using one transform feedback object while another
773 transform feedback operation writing to an overlapping region of
776 15. When a transform feedback object is active and not paused, binding a
777 different transform feedback object without pausing is specified to
782 they have interaction issues with the current transform feedback API.
784 In particular, transform feedback forbids applications from changing
785 various pieces of relevant state (e.g., transform feedback buffer
787 feedback operation. The active GLSL program object may be changed
788 while transform feedback is paused, but it must be restored prior to
791 Consider two active transform feedback objects (A and B) using two
795 // Perform first half of transform feedback for object A.
802 // Perform first half of transform feedback for object B.
809 // Perform second half of transform feedback for object A.
816 // Perform second half of transform feedback for object B.
827 UseProgram(C) is legal because the bound transform feedback object (B)
830 active transform feedback object. Assume the UseProgram(C) call were
833 would be the problem instead -- we'd be resuming a transform feedback
874 called while transform feedback is paused.