]> git.tdb.fi Git - libs/gl.git/blobdiff - source/builders/sequencetemplate.cpp
Move blend state from Sequence::Step to RenderMethod
[libs/gl.git] / source / builders / sequencetemplate.cpp
index c125823eb8344da53d4013a6137a44f6897b5f46..e48750e5f5df9299b25590658e1a6b2d3eae3603 100644 (file)
@@ -16,16 +16,6 @@ using namespace std;
 namespace Msp {
 namespace GL {
 
-SequenceTemplate::SequenceTemplate():
-       hdr(false),
-       alpha(false),
-       required_multisample(0),
-       max_multisample(0),
-       clear_enabled(false),
-       clear_depth(1.0f),
-       clear_stencil(0)
-{ }
-
 SequenceTemplate::~SequenceTemplate()
 {
        for(const PostProcessor &p: postprocessors)
@@ -48,10 +38,6 @@ SequenceTemplate::PostProcessorRegistry &SequenceTemplate::get_postprocessor_reg
 }
 
 
-SequenceTemplate::Step::~Step()
-{ }
-
-
 SequenceTemplate::PostProcessor::PostProcessor(GL::PostProcessor::Template *ppt):
        postprocessor_template(ppt)
 { }
@@ -123,14 +109,9 @@ void SequenceTemplate::Loader::step_with_slot(const string &tag, const string &r
        Step stp;
        stp.tag = tag;
        stp.slot_name = rend;
-       if(coll)
-       {
-               Step::Loader ldr(stp, *coll);
-               ldr.set_inline_base_name(format("%s/%d.step", get_source(), obj.steps.size()));
-               load_sub_with(ldr);
-       }
-       else
-               load_sub(stp);
+       Step::Loader ldr(stp, *coll);
+       ldr.set_inline_base_name(format("%s/%d.step", get_source(), obj.steps.size()));
+       load_sub_with(ldr);
 
        obj.steps.push_back(stp);
 }
@@ -160,11 +141,9 @@ void SequenceTemplate::ClearLoader::stencil(int s)
 }
 
 
-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);
        add("depth_test", &Loader::depth_test);
        add("depth_test", &Loader::depth_compare);
        add("lighting", &Loader::lighting);
@@ -179,16 +158,6 @@ void SequenceTemplate::Step::Loader::set_inline_base_name(const string &n)
        inline_base_name = n;
 }
 
-void SequenceTemplate::Step::Loader::blend()
-{
-       load_sub(obj.blend);
-}
-
-void SequenceTemplate::Step::Loader::blend_factors(BlendFactor src, BlendFactor dest)
-{
-       obj.blend = Blend(src, dest);
-}
-
 void SequenceTemplate::Step::Loader::depth_test()
 {
        load_sub(obj.depth_test);
@@ -202,7 +171,7 @@ void SequenceTemplate::Step::Loader::depth_compare(Predicate c)
 void SequenceTemplate::Step::Loader::lighting_inline()
 {
        RefPtr<Lighting> lightn = new Lighting;
-       load_sub(*lightn);
+       load_sub(*lightn, get_collection());
        get_collection().add(inline_base_name+".lightn", lightn.get());
        obj.lighting = lightn.release();
 }