13 #ifndef OGLPLUS_DSA_TRANSFORM_FEEDBACK_1107121519_HPP
14 #define OGLPLUS_DSA_TRANSFORM_FEEDBACK_1107121519_HPP
21 #if OGLPLUS_DOCUMENTATION_ONLY || GL_VERSION_4_5 || GL_ARB_direct_state_access
26 typedef tag::Create Type;
35 :
public ObjZeroOps<tag::DirectState, tag::TransformFeedback>
40 GLint GetIntParam(GLenum query)
const;
41 GLint GetIntParam(GLenum query, GLuint index)
const;
42 GLint64 GetInt64Param(GLenum query, GLuint index)
const;
44 bool Active(
void)
const
46 return GetIntParam(GL_TRANSFORM_FEEDBACK_ACTIVE) == GL_TRUE;
49 bool Paused(
void)
const
51 return GetIntParam(GL_TRANSFORM_FEEDBACK_PAUSED) == GL_TRUE;
56 OGLPLUS_GLFUNC(TransformFeedbackBufferBase)(
62 TransformFeedbackBufferBase,
78 OGLPLUS_GLFUNC(TransformFeedbackBufferRange)(
82 GLintptr(offset.
Get()),
83 GLsizeiptr(size.
Get())
86 TransformFeedbackBufferRange,
98 GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
103 GLint64 BufferStart(GLuint index)
const
105 return GetInt64Param(
106 GL_TRANSFORM_FEEDBACK_BUFFER_START,
113 return GetInt64Param(
114 GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
130 #endif // GL_ARB_direct_state_access
134 #if !OGLPLUS_LINK_LIBRARY || defined(OGLPLUS_IMPLEMENTING_LIBRARY)
135 #include <oglplus/dsa/transform_feedback.ipp>
136 #endif // OGLPLUS_LINK_LIBRARY
138 #endif // include guard
ObjectOps< tag::DirectState, tag::TransformFeedback > DSATransformFeedbackOps
TransformFeedback operations with direct state access.
Definition: transform_feedback.hpp:122
This class represents the size of a GPU buffer in bytes.
Definition: buffer_size.hpp:22
TRANSFORM_FEEDBACK_BUFFER.
Implements operations applicable to named (non-zero) objects.
Definition: wrap_tpl.hpp:45
GLuint GetGLName(ObjectName< ObjTag > named)
Returns the GLuint OpenGL name assigned to named object.
Definition: name.hpp:38
Implements operations applicable to any object including object 0 (zero)
Definition: fwd.hpp:157
GLsizeiptr Get(void) const
Gets the size in bytes.
Definition: buffer_size.hpp:58
Object< DSATransformFeedbackOps > DSATransformFeedback
An oglplus_object encapsulating the OpenGL transform feedback functionality.
Definition: transform_feedback.hpp:128
Base class for OpenGL "named" objects.
A common template for "named" objects like textures, buffers, etc.
Definition: fwd.hpp:136