X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fprogrambuilder.h;h=9ca9c8539b54c1046a2d97b29e7b854506c128d2;hb=2e9d7c9f5741d17f77ce27273590ee16b791fb64;hp=1f9bb846aa0b5729a0ffb3583d5d3e939861b2c1;hpb=0687d51f638169ffe55ad27e71ae99508ef3c38c;p=libs%2Fgl.git diff --git a/source/programbuilder.h b/source/programbuilder.h index 1f9bb846..9ca9c853 100644 --- a/source/programbuilder.h +++ b/source/programbuilder.h @@ -87,6 +87,7 @@ private: const VariableDefinition *variable; const VariableDefinition *type; std::string resolved_name; + std::string resolved_block; bool fuzzy_space; std::string resolved_space; bool array_sum; @@ -127,6 +128,7 @@ private: StandardFeatures features; std::list custom_variables; std::string feature_flags; + std::map aliases; bool optimize; static const VariableDefinition standard_variables[]; @@ -141,10 +143,12 @@ public: private: std::string create_source(const std::list &, VariableScope) const; bool evaluate_flags(const char *) const; + static const char *unqualified_name(const char *); static MatchType name_match(const char *, const char *, const char ** = 0); static bool parse_identifier(const char *, unsigned &, unsigned &); static std::vector extract_identifiers(const char *); static std::string replace_identifiers(const char *, const std::map &); + std::string create_expression(const ShaderVariable &, const char * = 0) const; }; } // namespace GL