• Home
  • Raw
  • Download

Lines Matching refs:transform

51     making transform feedback mode more useful.
53 First, it provides transform feedback objects which encapsulate transform
55 transform feedback configuration in a single bind call. Second, it
56 provides the ability to pause and resume transform feedback operations.
57 When transform feedback is paused, applications may render without
58 transform feedback or may use transform feedback with different state and
59 a different transform feedback object. When transform feedback is
64 captured in transform feedback mode without querying the captured
67 captured to buffer objects during the last transform feedback capture
68 operation on the transform feedback object used. This draw operation only
103 In transform feedback mode, attributes of the vertices of transformed
115 state are stored in a transform feedback object. If a vertex or geometry
116 shader is active, the set of attributes captured in transform feedback
118 otherwise, it is taken from the state of the currently bound transform
119 feedback object, as described below. The name space for transform
121 default transform feedback object.
123 A transform feedback object is created by calling
128 transform feedback object name. The resulting transform feedback object
131 vector and is used for subsequent transform feedback operations.
133 BindTransformFeedbackEXT can also be used to bind an existing transform
135 successful, no change is made to the state of the newly bound transform
138 While a transform feedback buffer object is bound, GL operations on the
139 target to which it is bound affect the bound transform feedback object,
140 and queries of the target to which a transform feedback object is bound
142 transform feedback, they are attached to the currently bound transform
143 feedback object. Buffer objects are used for transform feedback only if
144 they are attached to the currently bound transform feedback object.
146 In the initial state, a default transform feedback object is bound and
147 treated as a transform feedback object with a name of zero. That object
151 the transform feedback operation is active on the currently bound
152 transform feedback object, and that operation is not paused (as
159 <ids> contains <n> names of transform feedback objects to be deleted.
160 After a transform feedback object is deleted it has no contents, and its
162 the value zero. The default transform feedback object cannot be deleted.
164 if the transform feedback operation for any object named by <ids> is
171 returns <n> previously unused transform feedback object names in <ids>.
173 GenTransformFeedbacksEXT only, but they acquire transform feedback state
179 Transform feedback for the currently bound transform feedback object is
192 into the buffer objects bound for transform feedback (see below).
195 generated by BeginTransformFeedbackEXT if transform feedback is active,
196 and by EndTransformFeedbackEXT if transform feedback is inactive.
199 Transform feedback operations for the currently bound transform feedback
208 respectively. When transform feedback operations are paused, transform
209 feedback is still considered active and changing most transform feedback
210 state related to the object results in an error. However, a new transform
211 feedback object may be bound while transform feedback is paused. The
213 currently bound transform feedback is not active or is paused. The error
215 currently bound transform feedback is not active or is not paused.
217 When transform feedback is active and not paused, all geometric primitives
224 primitive type may be used while transform feedback is paused.
235 Table X.1 Legal combinations between the transform feedback primitive
244 Buffer objects are made to be targets of transform feedback by calling one
254 buffer object binding points that are used while transform feedback is
265 written to the buffer object while transform feedback mode is active.
274 The set of buffer objects used by a transform feedback object may not
275 change while transform feedback is active. The error INVALID_OPERATION is
277 if <target> is TRANSFORM_FEEDBACK_BUFER_EXT and transform feedback is
281 transform feedback stage while transform feedback is active and not
283 appended to the buffer objects bound to the transform feedback binding
297 When transform feedback is paused, no vertices are recorded. When
298 transform feedback is resumed, subsequent vertices are appended to the
300 transform feedback was paused.
302 When quads and polygons are provided to transform feedback with a
312 interleaved, into the buffer object bound to the first transform feedback
318 transform feedback binding point; subsequent varying variables are written
319 to the subsequent transform feedback binding points. The total number of
325 for transform feedback purposes would result in either exceeding the
333 In either separate or interleaved modes, all transform feedback binding
337 transform feedback mode does not have a buffer object bound. In
342 transform feedback-related state)
346 captured during transform feedback is taken from the active program object
347 and may not be changed while transform feedback is active. That program
349 while the transform feedback object is paused. The error
352 * by TransformFeedbackVaryingsEXT if the current transform feedback
355 * by UseProgram if the current transform feedback object is active and
359 or more transform feedback objects, even if the objects are not
363 current transform feedback object is not active.
368 When transform feedback is active, the values of varyings or transformed
370 current transform feedback object. After transform feedback is complete,
372 objects (section 2.9). The number of vertices captured during transform
373 feedback is stored in the corresponding transform feedback object and may
380 to the number of vertices captured the last time transform feedback was
381 active on the transform feedback object named by <id>. The error
382 INVALID_VALUE is generated if <id> is not the name of a transform feedback
385 <id> was bound. No error is generated if the transform feedback object
419 returns TRUE if <id> is the name of a transform feedback object. If <id>
420 is a non-zero value that is not the name of a transform feedback object,
450 a transform feedback operation is active on the currently bound transform
454 if the transform feedback operation for any object named by <ids> is
458 transform feedback is active.
461 transform feedback is inactive.
464 the currently bound transform feedback is not active or is paused.
467 if the currently bound transform feedback is not active or is not paused.
470 implicitly calls Begin (such as DrawElements) if transform feedback is
488 TRANSFORM_FEEDBACK_BUFFER_EXT and transform feedback is currently active.
491 any binding point used in transform feedback mode does not have a buffer
495 if the current transform feedback object is active, even if paused.
498 transform feedback object is active and not paused.
501 the name of a program being used by one or more transform feedback
505 the program object being used by the current transform feedback object is
509 is not the name of a transform feedback object.
524 transform feedback.
526 BUFFER_BINDING_EXT IndexedvEXT each transform feedback
529 BUFFER_START_EXT IndexedvEXT range for each transform
532 BUFFER_SIZE_EXT IndexedvEXT for each transform
533 TRANSFORM_FEEDBACK_ B GetBooleanv FALSE Is transform feedback 6.1.13 -
535 TRANSFORM_FEEDBACK_ B GetBooleanv FALSE Is transform feedback 6.1.13 -
538 [[ Note: This table includes all transform feedback state provided by
539 EXT_transform_feedback, except for transform feedback-related state
541 transform feedback-related state not present in these objects is the
548 TRANSFORM_FEEDBACK_ Z+ GetIntegerv 0 Object bound for transform 2.Y -
558 captured in transform feedback mode?
560 RESOLVED: Adding a new transform feedback state object provides
564 When applications pause and possibly switch to different transform
566 transform feedback operation somewhere. The transform feedback object
567 provides a convenient entity to hold this saved state. The transform
571 Additionally, the transform feedback object is helpful in ensuring
572 that the transform feedback state used when resuming transform
575 transform feedback is active (even when paused), so the state can't
577 apply to transform feedback state stored separately in a GLSL program
578 object; you can't change them while transform feedback is active in
582 Alternately, the in-progress transform feedback state (e.g., vertex
586 2. Are transform feedback objects shared between contexts?
590 multiple copies through sharing. Additionally, sharing transform
597 the primary type of object used in the original transform feedback
600 3. How do the new transform feedback objects interact with GLSL program
603 RESOLVED: The set of varyings captured during transform feedback and
611 while transform feedback is active. The same basic restrictions apply
613 program object while transform feedback is paused. In order to resume
614 transform feedback, the same program object must be active.
616 varyings while it is being actively used for capture in any transform
619 The actual buffer objects bound in transform feedback mode were bound
620 to the context (not the program object) in the original transform
623 4. Should we provide any behavior to "cancel" paused transform feedback
629 transform feedback operation, even if it is currently paused.
631 5. Should buffer object bindings be encapsulated in the new transform
635 all the transform feedback state in one call. Additionally, it
637 transform feedback is active -- even if we switch objects while
640 6. Should we be able to use two different sets of transform feedback
645 in transform feedback that are produced by DrawTransformFeedbackEXT.
646 Requiring that applications use the a single transform feedback object
651 7. How should the second transform feedback object used for rendering be
655 DrawTransformFeedbackEXT() accept a transform feedback object ID.
662 8. Can a single transform feedback object be used for both capture and
668 when the previous transform feedback operation on that object
669 completes (by an EndTransformFeedbackEXT call). If transform feedback
675 from the previous transform feedback operation? If not, does it
681 transform feedback against the inputs of a different vertex shader.
686 written to during the previous transform feedback operation, and are
689 information the draw call uses from the previous transform feedback
694 transform feedback operation?
698 11. What happens on if DrawTransformFeedbackEXT() uses a transform feedback
702 RESOLVED: Any primitives discarded during a transform feedback
706 12. How does the ability to pause/resume transform feedback interact with
711 The transform feedback-related query objects and transform feedback
712 objects are completely independent. If multiple transform feedback
714 result reflects the number of primitives written using *any* transform
718 transform feedback is paused, because no primitives will be written to
719 buffers while transform feedback is paused.
722 primitives recorded in the last transform feedback operation on an
728 14. Can a buffer object be attached to more than one transform feedback
731 RESOLVED: Yes. Applications using transform feedback should avoid
732 cases where transform feedback operations can conflict, including:
738 is written using one transform feedback object while another
739 transform feedback operation writing to an overlapping region of
742 15. When a transform feedback object is active and not paused, binding a
743 different transform feedback object without pausing is specified to
748 they have interaction issues with the current transform feedback API.
750 In particular, transform feedback forbids applications from changing
751 various pieces of relevant state (e.g., transform feedback buffer
752 bindings, active GLSL program object) during an active transform
754 while transform feedback is paused, but it must be restored prior to
757 Consider two active transform feedback objects (A and B) using two
761 // Perform first half of transform feedback for object A.
768 // Perform first half of transform feedback for object B.
775 // Perform second half of transform feedback for object A.
782 // Perform second half of transform feedback for object B.
793 UseProgram(C) is legal because the bound transform feedback object (B)
796 active transform feedback object. Assume the UseProgram(C) call were
799 would be the problem instead -- we'd be resuming a transform feedback
814 called while transform feedback is paused.