37 lines
861 B
C++
37 lines
861 B
C++
#pragma once
|
|
|
|
#include <stdio.h>
|
|
#include <glad.h>
|
|
#include <glm/glm.hpp>
|
|
#include <glm/gtc/type_ptr.hpp>
|
|
#include "u.hpp"
|
|
#include "io.hpp"
|
|
|
|
struct VertexShader {
|
|
u32 id;
|
|
|
|
VertexShader(std::string path);
|
|
~VertexShader();
|
|
};
|
|
|
|
struct FragmentShader {
|
|
u32 id;
|
|
|
|
FragmentShader(std::string path);
|
|
~FragmentShader();
|
|
};
|
|
|
|
struct Shader {
|
|
u32 id;
|
|
|
|
Shader(VertexShader v, FragmentShader f);
|
|
Shader(std::string vpath, std::string fpath);
|
|
void use() const;
|
|
void set_int(const char *name, int value) const;
|
|
void set_int(const std::string &name, int value) const;
|
|
void set_float(const char *name, float value) const;
|
|
void set_float(const std::string &name, float value) const;
|
|
void set_mat4(const char *name, const glm::mat4 &mat) const;
|
|
void set_mat4(const std::string &name, const glm::mat4 &mat) const;
|
|
};
|