SequenceTemplate::~SequenceTemplate()
{
for(const PostProcessor &p: postprocessors)
delete p.postprocessor_template;
}
SequenceTemplate::~SequenceTemplate()
{
for(const PostProcessor &p: postprocessors)
delete p.postprocessor_template;
}
- registry.register_type<AmbientOcclusion>("ambient_occlusion");
- registry.register_type<Bloom>("bloom");
- registry.register_type<ColorCurve>("colorcurve");
+ registry.register_type<AmbientOcclusion::Template>("ambient_occlusion");
+ registry.register_type<Bloom::Template>("bloom");
+ registry.register_type<ColorCurve::Template>("colorcurve");
SequenceTemplate::PostProcessor::PostProcessor(GL::PostProcessor::Template *ppt):
postprocessor_template(ppt)
{ }
SequenceTemplate::PostProcessor::PostProcessor(GL::PostProcessor::Template *ppt):
postprocessor_template(ppt)
{ }
-SequenceTemplate::PostProcLoader::PostProcLoader()
+DataFile::Loader::ActionMap SequenceTemplate::Loader::shared_actions;
+
+SequenceTemplate::Loader::Loader(SequenceTemplate &t, Collection &c):
+ CollectionObjectLoader<SequenceTemplate>(t, &c)
-
-SequenceTemplate::Loader::Loader(SequenceTemplate &t, Collection &c):
- DataFile::CollectionObjectLoader<SequenceTemplate, Resources>(t, &c)
+void SequenceTemplate::Loader::init_actions()
{
add("hdr", &SequenceTemplate::hdr);
add("alpha", &SequenceTemplate::alpha);
{
add("hdr", &SequenceTemplate::hdr);
add("alpha", &SequenceTemplate::alpha);
add("multisample", &Loader::multisample);
add("multisample", &Loader::multisample_range);
add("postprocessor", &Loader::postprocessor);
add("multisample", &Loader::multisample);
add("multisample", &Loader::multisample_range);
add("postprocessor", &Loader::postprocessor);
+ add("postprocessor", &Loader::postprocessor_with_slot);
+ add("renderable", &Loader::renderable);
+ add("renderable", &Loader::renderable_with_default);
- add("step", &Loader::step_with_slot);
-
- // Deprecated
- add("pass", &Loader::step_with_slot);
-}
-
-void SequenceTemplate::Loader::postprocessor_loaded()
-{
- obj.postprocessors.push_back(get_postprocessor_template());
-void SequenceTemplate::Loader::postprocessor(const string &slot)
+void SequenceTemplate::Loader::postprocessor()
+{
+ postprocessor_with_slot(string());
+}
+
+void SequenceTemplate::Loader::postprocessor_with_slot(const string &slot)
-void SequenceTemplate::Loader::step(const string &tag)
+void SequenceTemplate::Loader::renderable(const string &slot)
+{
+ Renderable rend;
+ rend.slot_name = slot;
+ obj.renderables.push_back(rend);
+}
+
+void SequenceTemplate::Loader::renderable_with_default(const string &slot, const string &name)
{
add("color", &ClearLoader::color);
add("depth", &ClearLoader::depth);
{
add("color", &ClearLoader::color);
add("depth", &ClearLoader::depth);
SequenceTemplate::Step::Loader::Loader(Step &p, Collection &c):
DataFile::CollectionObjectLoader<Step>(p, &c)
{
SequenceTemplate::Step::Loader::Loader(Step &p, Collection &c):
DataFile::CollectionObjectLoader<Step>(p, &c)
{
- add("blend", &Loader::blend);
- add("blend", &Loader::blend_factors);
+ set_actions(shared_actions);
+}
+
+void SequenceTemplate::Step::Loader::init_actions()
+{
add("depth_test", &Loader::depth_test);
add("depth_test", &Loader::depth_compare);
add("lighting", &Loader::lighting);
add("lighting", &Loader::lighting_inline);
add("depth_test", &Loader::depth_test);
add("depth_test", &Loader::depth_compare);
add("lighting", &Loader::lighting);
add("lighting", &Loader::lighting_inline);
-void SequenceTemplate::Step::Loader::object(const string &name)
-{
- obj.default_renderable = &get_collection().get<GL::Object>(name);
-}
-
-void SequenceTemplate::Step::Loader::scene(const string &name)
-{
- obj.default_renderable = &get_collection().get<Scene>(name);
-}
-