}
+DataFile::Loader::ActionMap RenderPass::Loader::shared_actions;
+
RenderPass::Loader::Loader(RenderPass &p):
DataFile::CollectionObjectLoader<RenderPass>(p, 0)
{
- init();
+ set_actions(shared_actions);
}
RenderPass::Loader::Loader(RenderPass &p, Collection &c):
DataFile::CollectionObjectLoader<RenderPass>(p, &c)
{
- init();
+ set_actions(shared_actions);
}
-void RenderPass::Loader::init()
+void RenderPass::Loader::init_actions()
{
add("shader", &Loader::shader);
add("material", &Loader::material_inline);
void RenderPass::Loader::uniforms()
{
+ if(!obj.shprog || obj.shprog_from_material)
+ throw runtime_error("Shader is required for uniforms");
obj.ensure_private_shader_data();
load_sub(*obj.shdata);
}