#pragma once #include "../../Result.hpp" #include "../../utils.hpp" #include "../../types.hpp" #include namespace amalgine { class Shader { DISABLE_COPY(Shader) friend class ShaderProgram; public: enum class Type { VERTEX, PIXEL }; ~Shader(); static Result> compile(Type type, const char *str, int size); const u32 id; private: Shader(u32 shader_id); }; }