FRAGMENT
};
+ enum InterfaceFlags
+ {
+ NO_INTERFACE = 0,
+ INPUT = 1,
+ OUTPUT = 2,
+ PASSTHROUGH = INPUT|OUTPUT,
+ GOAL = 4
+ };
+
struct VariableDefinition
{
VariableScope scope;
void update_reference(ShaderVariable &, ShaderVariable &);
void check_inline(bool, bool);
bool is_referenced_from(VariableScope) const;
+ InterfaceFlags get_interface_flags(VariableScope) const;
std::string create_declaration(char = 0) const;
std::string create_replacement(VariableScope) const;
std::string create_expression() const;
bool optimize;
static const VariableDefinition standard_variables[];
+ static const char interfaces[];
public:
ProgramBuilder(const StandardFeatures &);