None
EN
What if C++ had decades to learn?
['What If C', 'Had Decades To Learn', 'Gustavo Noronha']
Collabora Newsroom RSS Feed
#include <iostream> #include <stdexcept> #include <vector> class CompiledShader { public: explicit CompiledShader(std::string name) : m_name(name) {}; std::string m_name; }; class ShaderRegistry { public: // can only be called before compiling void add(const char *shader); // once all shaders are added, compile // can only be called once void compile(); // get a compiled shader by name. class CompiledShaders { public: explicit CompiledShaders(const std::vector &names); const CompiledShader &get_compiled(const char *name) const; std::vector m_compiled; }; class ShaderCompiler { public: void add(const char *shader); // Resources used in compilation are // transferred to the CompiledShaders: // you cannot call compile() twice!!