Interface to use transform feedback.
More...
#include <globjects/include/globjects/TransformFeedback.h>
|
static void | unbind (gl::GLenum target) |
|
Interface to use transform feedback.
The TransformFeedback methods map directly to their OpenGL function counterparts. The draw and setVaryings method additionally binds the TransformFeedback object, whereas the begin, pause, resume and end methods doesn't.
An example usage:
Program* program = createProgramIncludingShaders();
transformFeedback->
setVaryings(program, Array<const char*>{
"vertex_out" }, gl::GL_INTERLEAVED_ATTRIBS);
buffer->
bindBase(gl::GL_TRANSFORM_FEEDBACK_BUFFER, 0);
buffer->
setData(vertexSize,
nullptr, gl::GL_DYNAMIC_DRAW);
transformFeedback->
bind();
transformFeedback->
begin(gl::GL_POINTS);
transformFeedback->
end();
transformFeeback->draw(gl::GL_POINTS);
Wrapper for OpenGL buffer objects.
Definition Buffer.h:36
void setData(gl::GLsizeiptr size, const gl::GLvoid *data, gl::GLenum usage)
Wraps the OpenGL function glBufferData. Creates video memory for the buffer.
void bindBase(gl::GLenum target, gl::GLuint index) const
Wraps the OpenGL function gl::glBindBufferBase.
Wraps an OpenGL program.
Definition Program.h:79
- See also
- http://www.opengl.org/registry/specs/EXT/transform_feedback.txt
-
http://www.opengl.org/registry/specs/ARB/transform_feedback2.txt
-
http://www.opengl.org/registry/specs/ARB/transform_feedback3.txt
◆ TransformFeedback()
globjects::TransformFeedback::TransformFeedback |
( |
| ) |
|
◆ ~TransformFeedback()
virtual globjects::TransformFeedback::~TransformFeedback |
( |
| ) |
|
|
protectedvirtual |
◆ accept()
virtual void globjects::TransformFeedback::accept |
( |
ObjectVisitor & |
visitor | ) |
|
|
overridevirtual |
◆ bind() [1/2]
void globjects::TransformFeedback::bind |
( |
| ) |
const |
◆ unbind() [1/2]
static void globjects::TransformFeedback::unbind |
( |
| ) |
|
|
static |
◆ begin()
void globjects::TransformFeedback::begin |
( |
gl::GLenum |
primitiveMode | ) |
|
◆ pause()
void globjects::TransformFeedback::pause |
( |
| ) |
|
◆ resume()
void globjects::TransformFeedback::resume |
( |
| ) |
|
◆ end()
void globjects::TransformFeedback::end |
( |
| ) |
|
◆ draw()
void globjects::TransformFeedback::draw |
( |
gl::GLenum |
primitiveMode | ) |
const |
◆ setVaryings() [1/3]
void globjects::TransformFeedback::setVaryings |
( |
const Program * |
program, |
|
|
gl::GLsizei |
count, |
|
|
const char ** |
varyingNames, |
|
|
gl::GLenum |
bufferMode |
|
) |
| |
◆ setVaryings() [2/3]
void globjects::TransformFeedback::setVaryings |
( |
const Program * |
program, |
|
|
const std::vector< std::string > & |
varyingNames, |
|
|
gl::GLenum |
bufferMode |
|
) |
| |
◆ setVaryings() [3/3]
template<std::size_t Count>
void globjects::TransformFeedback::setVaryings |
( |
const Program * |
program, |
|
|
const std::array< std::string, Count > & |
varyingNames, |
|
|
gl::GLenum |
bufferMode |
|
) |
| |
◆ isTransformFeedback()
static bool globjects::TransformFeedback::isTransformFeedback |
( |
gl::GLuint |
id | ) |
|
|
static |
◆ objectType()
virtual gl::GLenum globjects::TransformFeedback::objectType |
( |
| ) |
const |
|
overridevirtual |
◆ bind() [2/2]
void globjects::TransformFeedback::bind |
( |
gl::GLenum |
target | ) |
const |
|
protected |
◆ unbind() [2/2]
static void globjects::TransformFeedback::unbind |
( |
gl::GLenum |
target | ) |
|
|
staticprotected |
The documentation for this class was generated from the following file: