25 ShaderCache(std::vector<ShaderType> requested_shaders);
38 ShaderVertexAttributeVariable shader_vertex_attribute_variable);
43 ShaderVertexAttributeVariable shader_vertex_attribute_variable);
49 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
bool value);
50 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
int value);
51 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
float value);
52 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
const glm::vec2 &vec);
53 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
float x,
float y);
54 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
const glm::vec3 &vec);
55 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
float x,
float y,
float z);
56 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
const glm::vec4 &vec);
57 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
const std::vector<glm::vec4> &values);
58 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
float x,
float y,
float z,
float w);
59 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
const glm::mat2 &mat);
60 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
const glm::mat3 &mat);
61 void set_uniform(ShaderType type, ShaderUniformVariable uniform,
const glm::mat4 &mat);
65 GLuint attach_shader(GLuint program,
const std::string &path, GLenum shader_type);
66 void link_program(GLuint program);
68 std::unordered_map<ShaderType, ShaderProgramInfo> created_shaders;
void configure_vertex_attributes_for_drawables_vao(GLuint vertex_attribute_object, GLuint vertex_buffer_object, ShaderType type, ShaderVertexAttributeVariable shader_vertex_attribute_variable)
configures a VAO so that it knows how to transmit data from a VBO into the shader program
Definition shader_cache.cpp:124