5#include <unordered_map>
9 GLSLUniform(std::string name, std::string type, std::string value =
"");
12 std::string GenerateGLSL();
14 std::string name =
"";
15 std::string type =
"";
16 std::string value =
"";
17 std::string comment =
"";
22 GLSLMacro(std::string name, std::string value, std::string comment =
"");
25 std::string GenerateGLSL();
27 std::string name =
"";
28 std::string value =
"";
29 std::string comment =
"";
34 GLSLLine(std::string line, std::string comment =
"");
37 std::string GenerateGLSL();
39 std::string line =
"";
40 std::string comment =
"";
45 GLSLSSBO(std::string name, std::string binding =
"1", std::string comment =
"");
48 std::string GenerateGLSL();
52 std::vector<GLSLLine> lines;
53 std::string name =
"";
54 std::string binding =
"";
55 std::string comment =
"";
60 GLSLFunction(std::string name, std::string params =
"", std::string returnType =
"void");
63 std::string GenerateGLSL();
67 std::string name =
"";
68 std::string returnType =
"";
69 std::string params =
"";
70 std::string comment =
"";
71 std::vector<GLSLLine> lines;
80 std::string GenerateGLSL();
88 bool HasFunction(std::string name);
93 std::string version =
"430 core";
94 std::string code =
"";
95 std::string name =
"";
96 std::vector<GLSLUniform> uniforms;
97 std::vector<GLSLFunction> functions;
98 std::vector<std::string> functionNames;
99 std::vector<GLSLMacro> macros;
100 std::vector<GLSLSSBO> ssbos;
101 std::vector<GLSLLine> topLines;