VolViz
A volume visualization tool
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Shaders.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "GL/ShaderProgram.h"
4 #include "Types.h"
5 
6 #include <unordered_map>
7 
8 namespace VolViz {
9 namespace Private_ {
10 
11 namespace GL {
12 class ShaderProgram;
13 } // namespace GL
14 
15 class Shaders {
16 public:
18 
20  void init();
21 
22 private:
23  using ShaderProgramTable = std::unordered_map<std::string, GL::ShaderProgram>;
24 
26 };
27 
28 } // namespace Private_
29 } // namespace VolViz
GLsizei const GLchar *const * string
Definition: glad.h:2514
void init()
Compiles and links all shaders. Must be called once.
Definition: Shaders.cpp:14
RAII wrapper for OpenGL shader programs objects.
Definition: ShaderProgram.h:125
GLuint const GLchar * name
Definition: glad.h:2430
GL::ShaderProgram & operator[](std::string name)
Definition: Shaders.cpp:7
ShaderProgramTable shaders_
Definition: Shaders.h:25
std::unordered_map< std::string, GL::ShaderProgram > ShaderProgramTable
Definition: Shaders.h:23
Definition: Shaders.h:15