#pragma once #include "../../Result.hpp" #include "../../types.hpp" #include "../../utils.hpp" #include "ShaderFrame.hpp" #include #include namespace amalgine { class Shader; class ShaderProgram { DISABLE_COPY(ShaderProgram) public: ~ShaderProgram(); static Result> build(const std::vector &shaders); ShaderFrame create_frame(); private: ShaderProgram(u32 shader_program_id); private: u32 program_id; }; }