const VariableDefinition *variable;
const VariableDefinition *type;
std::string resolved_name;
+ std::string resolved_block;
bool fuzzy_space;
std::string resolved_space;
bool array_sum;
StandardFeatures features;
std::list<VariableDefinition> custom_variables;
std::string feature_flags;
+ std::map<std::string, std::string> aliases;
bool optimize;
static const VariableDefinition standard_variables[];
private:
std::string create_source(const std::list<ShaderVariable *> &, 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<std::string> extract_identifiers(const char *);
static std::string replace_identifiers(const char *, const std::map<std::string, std::string> &);
+ std::string create_expression(const ShaderVariable &, const char * = 0) const;
};
} // namespace GL