Loading...
Searching...
No Matches
TransformFeedback.h
Go to the documentation of this file.
#pragma once
#include <vector>
#include <array>
#include <glbinding/gl/types.h>
#include <globjects/globjects_api.h>
#include <globjects/Object.h>
namespace globjects
{
class Program;
class GLOBJECTS_API TransformFeedback : public Object
{
public:
TransformFeedback();
virtual void accept(ObjectVisitor & visitor) override;
void bind() const;
static void unbind();
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);
static bool isTransformFeedback(gl::GLuint id);
virtual gl::GLenum objectType() const override;
protected:
virtual ~TransformFeedback();
void bind(gl::GLenum target) const;
static void unbind(gl::GLenum target);
};
} // namespace globjects
#include <globjects/TransformFeedback.inl>
Object.h
globjects::Object
Superclass of all wrapped OpenGL objects.
Definition Object.h:27
globjects::ObjectVisitor
Implements a Visitor Pattern to iterate over all tracked globjects objects.
Definition ObjectVisitor.h:30
globjects::Program
Wraps an OpenGL program.
Definition Program.h:79
globjects::TransformFeedback
Interface to use transform feedback.
Definition TransformFeedback.h:59
globjects::TransformFeedback::unbind
static void unbind(gl::GLenum target)
globjects::TransformFeedback::isTransformFeedback
static bool isTransformFeedback(gl::GLuint id)
globjects::TransformFeedback::bind
void bind() const
globjects::TransformFeedback::setVaryings
void setVaryings(const Program *program, const std::array< std::string, Count > &varyingNames, gl::GLenum bufferMode)
globjects::TransformFeedback::objectType
virtual gl::GLenum objectType() const override
globjects::TransformFeedback::setVaryings
void setVaryings(const Program *program, gl::GLsizei count, const char **varyingNames, gl::GLenum bufferMode)
globjects::TransformFeedback::accept
virtual void accept(ObjectVisitor &visitor) override
globjects::TransformFeedback::TransformFeedback
TransformFeedback()
globjects::TransformFeedback::resume
void resume()
globjects::TransformFeedback::end
void end()
globjects::TransformFeedback::draw
void draw(gl::GLenum primitiveMode) const
globjects::TransformFeedback::pause
void pause()
globjects::TransformFeedback::~TransformFeedback
virtual ~TransformFeedback()
globjects::TransformFeedback::begin
void begin(gl::GLenum primitiveMode)
globjects::TransformFeedback::bind
void bind(gl::GLenum target) const
globjects::TransformFeedback::setVaryings
void setVaryings(const Program *program, const std::vector< std::string > &varyingNames, gl::GLenum bufferMode)
globjects::TransformFeedback::unbind
static void unbind()
globjects
Contains all the classes that wrap OpenGL functionality.