/// <summary> /// Binds part of a buffer to the binding index utilized by the given transform feeedback varying. /// </summary> /// <remarks> /// If multiple parts of the same buffer are bound as transform feedback output targets they must not overlap. /// </remarks> /// <param name="transformOut">Specifies a transform feedback varying.</param> /// <param name="buffer">Specifies a buffer object to bind.</param> /// <param name="offset">Specifies the starting offset in bytes into the buffer object.</param> /// <param name="size">Specifies the amount of data in bytes that can be written to the buffer.</param> public void BindOutput <T>(TransformOut transformOut, Buffer <T> buffer, int offset, int size) where T : struct { AssertActive(); GL.BindBufferRange(BufferRangeTarget.TransformFeedbackBuffer, transformOut.Index, buffer.Handle, (IntPtr)offset, (IntPtr)size); }
/// <summary> /// Binds a buffer to the binding index utilized by the given transform feeedback varying. /// </summary> /// <param name="transformOut">Specifies a transform feedback varying.</param> /// <param name="buffer">Specifies a buffer object to bind.</param> public void BindOutput <T>(TransformOut transformOut, Buffer <T> buffer) where T : struct { AssertActive(); GL.BindBufferBase(BufferRangeTarget.TransformFeedbackBuffer, transformOut.Index, buffer.Handle); }