|
| Program () |
| Create and allocate an OpenGL program object.
|
|
| ~Program () |
| Destroy the program object.
|
|
GLuint | id () const |
| Get the program object's ID. More...
|
|
void | use () const |
| Use the program.
|
|
template<typename... Shaders> |
void | build (Shaders...shaders) |
| Utility method to attach shaders and link the program. More...
|
|
void | attach_shader (const Shader &shader) const |
| Attach a shader to the program. More...
|
|
void | attach_shader (std::unique_ptr< Shader > shader) const |
| Attach a shader to the program. More...
|
|
void | attach_shader (std::shared_ptr< Shader > shader) const |
| Attach a shader to the program. More...
|
|
void | link () const |
| Link the program.
|
|
GLint | get_uniform_location (const char *uniform_name) |
| Get the index of a uniform variable in the program. More...
|
|
|
void | allocate () |
| Allocate an OpenGL program object.
|
|
void | _build () const |
| Internal helper to build().
|
|
template<typename... Shaders> |
void | _build (const Shader &shader, Shaders...args) const |
| Internal helper to build().
|
|
template<typename... Shaders> |
void | _build (std::unique_ptr< Shader > shader, Shaders...args) const |
| Internal helper to build().
|
|
template<typename... Shaders> |
void | _build (std::shared_ptr< Shader > shader, Shaders...args) const |
| Internal helper to build().
|
|
template<typename... Shaders> |
void | _build (const char *attribute_name, GLuint index, Shaders...args) const |
| Internal helper to build().
|
|
C++ wrapper for an OpenGL program object.