GUECS: Minimal components from zedcaster that will let me make a GUI for a game.

This commit is contained in:
Zed A. Shaw 2025-04-21 23:45:04 -04:00
parent 10ecf50bc0
commit 1be770d62d
28 changed files with 2528 additions and 30 deletions

28
shaders.hpp Normal file
View file

@ -0,0 +1,28 @@
#pragma once
#include <cstdint>
#include <vector>
#include <string>
#include <SFML/Graphics.hpp>
#include <unordered_map>
#include <memory>
#include "matrix.hpp"
#include <nlohmann/json.hpp>
namespace shaders {
struct Record {
std::string name;
std::string file_name;
std::shared_ptr<sf::Shader> ptr = nullptr;
};
struct ShaderManager {
std::unordered_map<std::string, Record> shaders;
};
std::shared_ptr<sf::Shader> get(const std::string& name);
void init();
bool load_shader(std::string& name, nlohmann::json& settings);
bool updated(int my_version);
int reload();
int version();
}