public:
virtual ~Material() { }
+ virtual Program *create_compatible_shader() const;
+ virtual const Program *create_compatible_shader(DataFile::Collection &) const;
+protected:
+ virtual std::string create_program_source() const = 0;
+
public:
/** Returns the uniforms for the material. */
const ProgramData &get_shader_data() const { return shdata; }