X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbuilders%2Fsequencetemplate.cpp;h=d852643301fa0ecac87fe0114b514bbe4478b45e;hp=46ffec702c300e5ae5f393abdbdabc8929525c9f;hb=fe2fc291a4fc618425c64112c9ffd3519f0b8a3e;hpb=c63285753b51215c030b226d66f9662287713f01 diff --git a/source/builders/sequencetemplate.cpp b/source/builders/sequencetemplate.cpp index 46ffec70..d8526433 100644 --- a/source/builders/sequencetemplate.cpp +++ b/source/builders/sequencetemplate.cpp @@ -5,7 +5,9 @@ #include "bloom.h" #include "colorcurve.h" #include "lighting.h" +#include "object.h" #include "resources.h" +#include "scene.h" #include "sequencetemplate.h" #include "tests.h" @@ -15,7 +17,6 @@ namespace Msp { namespace GL { SequenceTemplate::SequenceTemplate(): - resources(0), hdr(false), alpha(false), required_multisample(0), @@ -28,13 +29,6 @@ SequenceTemplate::~SequenceTemplate() delete i->postprocessor_template; } -Resources &SequenceTemplate::get_resources() const -{ - if(!resources) - throw logic_error("no resources"); - return *resources; -} - SequenceTemplate::PostProcessorRegistry &SequenceTemplate::get_postprocessor_registry() { @@ -75,11 +69,10 @@ SequenceTemplate::Loader::Loader(SequenceTemplate &t, Collection &c): add("multisample", &Loader::multisample_range); add("postprocessor", &Loader::postprocessor); add("step", &Loader::step); + add("step", &Loader::step_with_slot); // Deprecated - add("pass", &Loader::step); - - obj.resources = &c; + add("pass", &Loader::step_with_slot); } void SequenceTemplate::Loader::postprocessor_loaded() @@ -109,7 +102,12 @@ void SequenceTemplate::Loader::postprocessor(const string &slot) obj.postprocessors.push_back(pp); } -void SequenceTemplate::Loader::step(const string &tag, const string &rend) +void SequenceTemplate::Loader::step(const string &tag) +{ + step_with_slot(tag, string()); +} + +void SequenceTemplate::Loader::step_with_slot(const string &tag, const string &rend) { Step stp; stp.tag = tag; @@ -143,6 +141,8 @@ void SequenceTemplate::Step::Loader::init() add("depth_test", &Loader::depth_test_predefined); add("lighting", &Loader::lighting); add("lighting", &Loader::lighting_inline); + add("object", &Loader::object); + add("scene", &Loader::scene); } void SequenceTemplate::Step::Loader::blend_predefined(const string &name) @@ -196,10 +196,15 @@ void SequenceTemplate::Step::Loader::lighting(const string &name) obj.lighting.keep(); } -/*void SequenceTemplate::Step::Loader::scene(const string &name) +void SequenceTemplate::Step::Loader::object(const string &name) { - obj.default_renderable = get_collection().get(name); -}*/ + obj.default_renderable = &get_collection().get(name); +} + +void SequenceTemplate::Step::Loader::scene(const string &name) +{ + obj.default_renderable = &get_collection().get(name); +} } // namespace GL } // namespace Msp