fast-nuclear-sim/src/graphics/shader.hpp

33 lines
451 B
C++
Raw Normal View History

2024-01-21 01:36:21 +11:00
#pragma once
2024-02-20 23:42:19 +11:00
#include <unordered_map>
namespace Sim::Graphics
{
class Shader
2024-01-21 01:36:21 +11:00
{
2024-02-20 23:42:19 +11:00
unsigned int prog_id = 0;
2024-01-21 01:36:21 +11:00
2024-02-20 23:42:19 +11:00
std::unordered_map<const char*, unsigned int> uniform_locations;
public:
static Shader MAIN;
static Shader BLUR;
2024-01-21 12:58:37 +11:00
2024-02-20 23:42:19 +11:00
Shader();
Shader(const Shader& o) = delete;
Shader(Shader&& o);
~Shader();
void load(const char* path, const char* file_vsh, const char* file_fsh);
void use();
unsigned int operator[](const char* pos);
};
2024-01-21 01:36:21 +11:00
};