![]() |
globjects
2.0.0.690708773bba
Strict OpenGL objects wrapper.
|
Interface to use transform feedback. More...
#include <globjects/include/globjects/TransformFeedback.h>
Public Member Functions | |
TransformFeedback () | |
virtual | ~TransformFeedback () |
virtual void | accept (ObjectVisitor &visitor) override |
void | bind () const |
void | begin (gl::GLenum primitiveMode) |
void | pause () |
void | resume () |
void | end () |
void | draw (gl::GLenum primitiveMode) const |
void | setVaryings (const Program *program, gl::GLsizei count, const char **varyingNames, gl::GLenum bufferMode) |
void | setVaryings (const Program *program, const std::vector< std::string > &varyingNames, gl::GLenum bufferMode) |
template<std::size_t Count> | |
void | setVaryings (const Program *program, const std::array< std::string, Count > &varyingNames, gl::GLenum bufferMode) |
virtual gl::GLenum | objectType () const override |
![]() | |
gl::GLuint | id () const |
std::string | name () const |
void | setName (const std::string &name) |
bool | hasName () const |
bool | isDefault () const |
void | detach () |
Static Public Member Functions | |
static void | unbind () |
static bool | isTransformFeedback (gl::GLuint id) |
![]() | |
static void | hintNameImplementation (NameImplementation impl) |
![]() | |
static std::unique_ptr< TransformFeedback > | create (Args &&...args) |
static std::unique_ptr< TransformFeedback > | fromId (gl::GLuint id, Args &&...args) |
Protected Member Functions | |
void | bind (gl::GLenum target) const |
![]() | |
Object (std::unique_ptr< IDResource > &&resource) | |
virtual | ~Object () |
Static Protected Member Functions | |
static void | unbind (gl::GLenum target) |
Additional Inherited Members | |
![]() | |
enum | NameImplementation { NameImplementation::DebugKHR, NameImplementation::Legacy } |
![]() | |
std::unique_ptr< IDResource > | m_resource |
void * | m_objectLabelState |
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:
globjects::TransformFeedback::TransformFeedback | ( | ) |
|
virtual |
|
overridevirtual |
Implements globjects::Object.
void globjects::TransformFeedback::bind | ( | ) | const |
|
static |
void globjects::TransformFeedback::begin | ( | gl::GLenum | primitiveMode | ) |
void globjects::TransformFeedback::pause | ( | ) |
void globjects::TransformFeedback::resume | ( | ) |
void globjects::TransformFeedback::end | ( | ) |
void globjects::TransformFeedback::draw | ( | gl::GLenum | primitiveMode | ) | const |
void globjects::TransformFeedback::setVaryings | ( | const Program * | program, |
gl::GLsizei | count, | ||
const char ** | varyingNames, | ||
gl::GLenum | bufferMode | ||
) |
void globjects::TransformFeedback::setVaryings | ( | const Program * | program, |
const std::vector< std::string > & | varyingNames, | ||
gl::GLenum | bufferMode | ||
) |
void globjects::TransformFeedback::setVaryings | ( | const Program * | program, |
const std::array< std::string, Count > & | varyingNames, | ||
gl::GLenum | bufferMode | ||
) |
|
static |
|
overridevirtual |
Implements globjects::Object.
|
protected |
|
staticprotected |