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 |
Public Member Functions inherited from globjects::Object | |
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 Public Member Functions inherited from globjects::Object | |
static void | hintNameImplementation (NameImplementation impl) |
Static Public Member Functions inherited from globjects::Instantiator< TransformFeedback > | |
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 |
Protected Member Functions inherited from globjects::Object | |
Object (std::unique_ptr< IDResource > &&resource) | |
virtual | ~Object () |
Static Protected Member Functions | |
static void | unbind (gl::GLenum target) |
Additional Inherited Members | |
Public Types inherited from globjects::Object | |
enum | NameImplementation { NameImplementation::DebugKHR, NameImplementation::Legacy } |
Protected Attributes inherited from globjects::Object | |
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 |