17#include "System/json.h"
19using GLuint =
unsigned int;
27 Shader(
const std::string& vertexFile,
const std::string& fragmentFile);
49 auto loadFile(
const std::string& vertexFile,
const std::string& fragmentFile) -> void;
58 [[nodiscard]]
auto name() const -> const std::
string&
sys::Json Stream
Definition AudioObject.h:20
unsigned int GLuint
Definition IndexBuffer.h:17
nlohmann::json json
Definition Json.cpp:19
auto deactivate() const -> void
Definition Shader.cpp:111
Shader()
Definition Shader.cpp:36
auto save(Stream &stream) const -> void
Definition Shader.cpp:271
auto name() const -> const std::string &
Definition Shader.h:58
auto loadFile(const std::string &vertexFile, const std::string &fragmentFile) -> void
Definition Shader.cpp:122
auto name(const std::string &name) -> void
Definition Shader.h:67
auto setCamera() const -> void
Sets the view and projection transforms for the shader The shader to be set must be currently loaded.
Definition Shader.cpp:117
friend auto to_json(json &j, const Shader &a) -> void
Definition Shader.cpp:276
std::string fragmentPath
Definition Shader.h:78
auto load(Stream &stream) -> void
Definition Shader.cpp:266
auto ID() const -> GLuint
Definition Shader.h:44
auto activate() const -> void
Definition Shader.cpp:105
GLuint shaderID
Definition Shader.h:79
std::string _name
Definition Shader.h:76
std::string vertexPath
Definition Shader.h:77
friend auto from_json(const json &j, Shader &a) -> void
Definition Shader.cpp:286
auto operator=(const Shader &other) -> Shader &
Definition Shader.cpp:76
~Shader()
Definition Shader.cpp:47