Files
LivePlotter/inc/shaders.hpp
2025-08-17 12:40:31 -05:00

20 lines
497 B
C++

#pragma once
#include <glad/glad.h>
#include <variant>
#include "util.hpp"
namespace shader {
// Reads shader source files, compiles, and links
bool load(uint* out_id, const char* vertex_filepath, const char* fragment_filepath);
// Sets shader as active on the gpu
void use(uint id);
// Set uniform value
typedef std::variant<int, float, bool, vec4, vec3, vec2, vec4i, vec3i, vec2i> uniform_variant;
void set_uniform(uint id, const char* name, uniform_variant value);
} // namespace shaders