Physics Simulation & Visualization Tool 0.1
A C++ physics simulation engine with real-time 3D visualization
Loading...
Searching...
No Matches
Shader.h
Go to the documentation of this file.
1#pragma once
2#include <string>
3#include <glm/glm.hpp>
4#include <QOpenGLFunctions_4_5_Core>
5
6class Shader {
7public:
8 Shader(const std::string &vertexPath, const std::string &fragmentPath, QOpenGLFunctions_4_5_Core* glFuncs);
9 ~Shader();
10
11 void use() const;
12
13 void setBool(const std::string &name, bool value) const;
14 void setInt(const std::string &name, int value) const;
15 void setFloat(const std::string &name, float value) const;
16 void setMat4(const std::string &name, const glm::mat4 &mat) const;
17 void setVec3(const std::string &name, const glm::vec3 &vec) const;
18private:
19 QOpenGLFunctions_4_5_Core* funcs;
20 unsigned int ID;
21 std::string loadFile(const std::string &path) const;
22 unsigned int compileShader(GLenum type, const std::string &source) const;
23};
Definition Shader.h:6
void setVec3(const std::string &name, const glm::vec3 &vec) const
Definition Shader.cpp:71
void use() const
Definition Shader.cpp:55
void setMat4(const std::string &name, const glm::mat4 &mat) const
Definition Shader.cpp:68
void setBool(const std::string &name, bool value) const
Definition Shader.cpp:59
void setInt(const std::string &name, int value) const
Definition Shader.cpp:62
void setFloat(const std::string &name, float value) const
Definition Shader.cpp:65
~Shader()
Definition Shader.cpp:23