UniformBlock.h
Go to the documentation of this file.
#pragma once
#include <vector>
#include <globjects/globjects_api.h>
#include <globjects/LocationIdentity.h>
namespace globjects
{
class Program;
class GLOBJECTS_API UniformBlock
{
friend class Program;
public:
UniformBlock();
UniformBlock(const Program * program, const LocationIdentity & m_identity);
const LocationIdentity & identity() const;
void setBinding(gl::GLuint bindingIndex);
void getActive(gl::GLenum pname, gl::GLint * params) const;
gl::GLint getActive(gl::GLenum pname) const;
std::vector<gl::GLint> getActive(gl::GLenum pname, gl::GLint paramCount) const;
std::vector<gl::GLint> getActiveUniformIndices() const;
std::string getName() const;
protected:
const Program * m_program;
LocationIdentity m_identity;
gl::GLuint m_bindingIndex;
gl::GLuint blockIndex() const;
void updateBinding() const;
};
} // namespace globjects
globjects::UniformBlock::m_program
const Program * m_program
Definition: UniformBlock.h:36
globjects::UniformBlock::m_identity
LocationIdentity m_identity
Definition: UniformBlock.h:37
globjects
Contains all the classes that wrap OpenGL functionality.
globjects::UniformBlock
Definition: UniformBlock.h:16
globjects::Program
Wraps an OpenGL program.
Definition: Program.h:78
globjects::UniformBlock::m_bindingIndex
gl::GLuint m_bindingIndex
Definition: UniformBlock.h:38
globjects::LocationIdentity
Definition: LocationIdentity.h:16
LocationIdentity.h