globjects  1.0.0.000000000000
Strict OpenGL objects wrapper.
Loading...
Searching...
No Matches
UniformBlock.h
Go to the documentation of this file.
1
2#pragma once
3
4#include <vector>
5
6#include <globjects/globjects_api.h>
8
9
10namespace globjects
11{
12
13
14class Program;
15
16class GLOBJECTS_API UniformBlock
17{
18 friend class Program;
19public:
21 UniformBlock(const Program * program, const LocationIdentity & m_identity);
22
23 const LocationIdentity & identity() const;
24
25 void setBinding(gl::GLuint bindingIndex);
26
27 void getActive(gl::GLenum pname, gl::GLint * params) const;
28 gl::GLint getActive(gl::GLenum pname) const;
29 std::vector<gl::GLint> getActive(gl::GLenum pname, gl::GLint paramCount) const;
30
31 std::vector<gl::GLint> getActiveUniformIndices() const;
32
33 std::string getName() const;
34
35protected:
38 gl::GLuint m_bindingIndex;
39
40 gl::GLuint blockIndex() const;
41 void updateBinding() const;
42};
43
44
45} // namespace globjects
Definition LocationIdentity.h:17
Wraps an OpenGL program.
Definition Program.h:79
Definition UniformBlock.h:17
const Program * m_program
Definition UniformBlock.h:36
LocationIdentity m_identity
Definition UniformBlock.h:37
std::vector< gl::GLint > getActive(gl::GLenum pname, gl::GLint paramCount) const
void updateBinding() const
void getActive(gl::GLenum pname, gl::GLint *params) const
std::string getName() const
gl::GLuint m_bindingIndex
Definition UniformBlock.h:38
const LocationIdentity & identity() const
gl::GLuint blockIndex() const
std::vector< gl::GLint > getActiveUniformIndices() const
gl::GLint getActive(gl::GLenum pname) const
void setBinding(gl::GLuint bindingIndex)
UniformBlock(const Program *program, const LocationIdentity &m_identity)
Contains all the classes that wrap OpenGL functionality.