- throw InvalidState("Can't load uniforms without a shader program");
- if(!obj.shdata)
- obj.shdata = new ProgramData;
- load_sub(*obj.shdata, *obj.shprog);
+ throw invalid_operation("RenderPass::Loader::uniforms");
+ RefPtr<ProgramData> shd = new ProgramData(obj.shprog);
+ load_sub(*shd);
+ obj.shdata = shd.release();
+}
+
+void RenderPass::Loader::uniform_slot(const string &name)
+{
+ uniform_slot2(name, name);
+}
+
+void RenderPass::Loader::uniform_slot2(const string &name, const string &slot)
+{
+ obj.uniform_slots[slot] = name;