• Home
  • Raw
  • Download

Lines Matching refs:transform

66     making transform feedback mode more useful.
68 First, it provides transform feedback objects which encapsulate transform
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
137 otherwise, it is taken from the state of the currently bound transform
138 feedback object, as described below. The name space for transform
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
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
175 <target> must be TRANSFORM_FEEDBACK and <id> is the transform
176 feedback object name. The resulting transform feedback object is a new
179 is used for subsequent transform feedback operations.
181 BindTransformFeedback can also be used to bind an existing transform
183 successful, no change is made to the state of the newly bound transform
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
210 Transform feedback for the currently bound transform feedback object is
223 bound for transform feedback (see below).
226 generated by BeginTransformFeedback if transform feedback is active, and
227 by EndTransformFeedback if transform feedback is inactive. Transform
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
241 state related to the object results in an error. However, a new transform
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
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
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,
406 objects (section 2.9). The number of vertices captured during transform
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
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
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
563 BUFFER_START range for each transform
566 BUFFER_SIZE for each transform
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
582 TRANSFORM_FEEDBACK_ Z+ GetIntegerv 0 Object bound for transform 2.Y -
592 captured in transform feedback mode?
594 RESOLVED: Adding a new transform feedback state object provides
598 When applications pause and possibly switch to different transform
600 transform feedback operation somewhere. The transform feedback object
601 provides a convenient entity to hold this saved state. The transform
605 Additionally, the transform feedback object is helpful in ensuring
606 that the transform feedback state used when resuming transform
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?
624 multiple copies through sharing. Additionally, sharing transform
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.
650 varyings while it is being actively used for capture in any transform
653 The actual buffer objects bound in transform feedback mode were bound
654 to the context (not the program object) in the original transform
657 4. Should we provide any behavior to "cancel" paused transform feedback
663 transform feedback operation, even if it is currently paused.
665 5. Should buffer object bindings be encapsulated in the new transform
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
748 result reflects the number of primitives written using *any* transform
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
786 bindings, active GLSL program object) during an active transform
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.