X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Fcompiler.h;h=8e83990613343c0fdc8510053ffaac1617d4d283;hp=2afc2f560bb00c17ecbdbfbc10f501ef11ad2813;hb=73bef37da97b6da0b99227f63235cb52c4e56c44;hpb=2b87464682733c875966c1aa3b3369efbd60b310 diff --git a/source/glsl/compiler.h b/source/glsl/compiler.h index 2afc2f56..8e839906 100644 --- a/source/glsl/compiler.h +++ b/source/glsl/compiler.h @@ -4,7 +4,6 @@ #include #include "parser.h" #include "program.h" -#include "resources.h" #include "syntax.h" namespace Msp { @@ -14,7 +13,6 @@ namespace SL { class Compiler { private: - Resources *resources; Module *module; std::vector imported_names; @@ -22,16 +20,19 @@ public: Compiler(); ~Compiler(); - void compile(const std::string &, const std::string & = ""); - void compile(IO::Base &, Resources * = 0, const std::string & = ""); - void compile(IO::Base &, const std::string &); +private: + void clear(); +public: + void set_source(const std::string &, const std::string & = ""); + void load_source(IO::Base &, DataFile::Collection * = 0, const std::string & = ""); + void load_source(IO::Base &, const std::string &); + void compile(); void add_shaders(Program &); private: - void append_module(Module &); + void append_module(Module &, DataFile::Collection *); void append_stage(Stage &); - void process(); - void import(const std::string &); + void import(DataFile::Collection *, const std::string &); void generate(Stage &); bool optimize(Stage &); void finalize(Stage &);