17#include "System/json.h"
19using GLuint =
unsigned int;
29 Shader(
const std::string& vertexFile,
const std::string& fragmentFile);
51 auto loadFile(
const std::string& vertexFile,
const std::string& fragmentFile) -> void;
60 [[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
Shader()
Definition Shader.cpp:40
std::string vertexPath
Definition Shader.h:79
GLuint shaderID
Definition Shader.h:81
~Shader()
Definition Shader.cpp:51
auto operator=(const Shader &other) -> Shader &
Definition Shader.cpp:80
std::string fragmentPath
Definition Shader.h:80
auto ID() const -> GLuint
Definition Shader.h:46
auto name(const std::string &name) -> void
Definition Shader.h:69
auto deactivate() const -> void
Definition Shader.cpp:115
friend auto to_json(json &j, const Shader &a) -> void
Definition Shader.cpp:280
std::string _name
Definition Shader.h:78
auto load(const Stream &stream) -> void
Definition Shader.cpp:270
auto save(Stream &stream) const -> void
Definition Shader.cpp:275
auto activate() const -> void
Definition Shader.cpp:109
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:121
auto loadFile(const std::string &vertexFile, const std::string &fragmentFile) -> void
Definition Shader.cpp:126
auto name() const -> const std::string &
Definition Shader.h:60
friend auto from_json(const json &j, Shader &a) -> void
Definition Shader.cpp:290