示例#1
0
 /// <summary>
 /// Constructor, sets up transform parameters.
 /// See <href>https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glBeginTransformFeedback.xhtml</href>
 /// </summary>
 /// <param name="primitivetype">Primitive type for transform feedback (Points/Lines/Triangles) </param>
 /// <param name="transformfeedback">The GLTransformfeedback instance, previously created. Created externally as it does not have to be created per render</param>
 /// <param name="buffers">An array of buffers to receive the transform feedback into, starting at index 0. Must be created and allocated with DynamicCopy. See <href>https://www.khronos.org/opengl/wiki/Transform_Feedback</href> for details on how to use multiple buffers</param>
 /// <param name="offset">Offset into buffer if size != -1</param>
 /// <param name="size">Buffer area allocated. If size == -1, all of buffer</param>
 public GLOperationTransformFeedback(TransformFeedbackPrimitiveType primitivetype, GLTransformFeedback transformfeedback,
                                     GLBuffer[] buffers, int[] offset = null, int[] size = null)
 {
     this.PrimitiveType     = primitivetype;
     this.TransformFeedback = transformfeedback;
     this.Id             = TransformFeedback.Id; // mirror the ID, we are the same
     this.VaryingBuffers = buffers;
     this.Offsets        = offset;
     this.Sizes          = size;
 }
示例#2
0
 public void BeginTransformFeedback(PrimitiveTopology topology)
 {
     GL.BeginTransformFeedback(_tfTopology = topology.ConvertToTfType());
     _tfEnabled = true;
 }
示例#3
0
        // use to start/end up the bound transform (either default or this one)

        /// <summary> Start feedback on the primitive type </summary>
        public static void Begin(TransformFeedbackPrimitiveType t)
        {
            GL.BeginTransformFeedback(t);
        }
 /// <summary>
 /// Start transform feedback operation.
 /// </summary>
 /// <param name="primitiveMode">Specify the output type of the primitives that will be recorded into the buffer objects that are bound for transform feedback.</param>
 public void Begin(TransformFeedbackPrimitiveType primitiveMode)
 {
     AssertActive();
     GL.BeginTransformFeedback(primitiveMode);
 }