private:
void init();
+
void material_inline();
void material(const std::string &);
void texunit(unsigned);
+ void texunit_auto(const std::string &);
void texunit_named(unsigned, const std::string &);
void uniforms();
void uniform_slot(const std::string &);
RenderPass &operator=(const RenderPass &);
~RenderPass();
+private:
+ void finalize_material();
+ void ensure_private_shader_data();
+
+public:
void set_shader_program(const Program *, const ProgramData *);
const Program *get_shader_program() const { return shprog; }
const ProgramData *get_shader_data() const { return shdata.get(); }