VolViz
A volume visualization tool
|
RAII wrapper for OpenGL shader programs objects. More...
#include <ShaderProgram.h>
Public Member Functions | |
ShaderProgram () noexcept | |
~ShaderProgram () | |
ShaderProgram (ShaderProgram const &)=delete | |
ShaderProgram (ShaderProgram &&rhs) noexcept | |
ShaderProgram & | operator= (ShaderProgram &&rhs) noexcept |
ShaderProgram & | attachShader (Shader const &shader) noexcept |
template<class Container > | |
ShaderProgram & | attachShaders (Container &&c) noexcept |
ShaderProgram & | link () |
void | use () const noexcept |
UniformProxy const & | operator[] (std::string const &name) const |
auto | activeUniformNames () const |
Private Types | |
using | UniformTable = std::unordered_map< std::string, UniformProxy > |
Private Member Functions | |
void | detachShaders () noexcept |
void | queryUniforms () |
Private Attributes | |
std::vector< GLuint > | attachedShaders_ |
UniformTable | uniforms_ |
GLuint | program_ = 0 |
RAII wrapper for OpenGL shader programs objects.
|
private |
|
inlinenoexcept |
|
inline |
|
delete |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlineprivatenoexcept |
ShaderProgram & VolViz::Private_::GL::ShaderProgram::link | ( | ) |
|
inlinenoexcept |
|
inline |
|
private |
|
inlinenoexcept |
|
private |
|
private |
|
private |