X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fpipelinetemplate.cpp;h=6fc63227c061c740bcbf4a7257c2c72baff58cd4;hp=6dbfd0a247721edbb6e4f88521d6bee02a742b45;hb=0f890ce60a560ba2ccc0719229be304bb597d919;hpb=18240e2bb031551e9c72a55c7d974904d209760a diff --git a/source/pipelinetemplate.cpp b/source/pipelinetemplate.cpp index 6dbfd0a2..6fc63227 100644 --- a/source/pipelinetemplate.cpp +++ b/source/pipelinetemplate.cpp @@ -1,5 +1,6 @@ #include #include +#include "ambientocclusion.h" #include "blend.h" #include "bloom.h" #include "colorcurve.h" @@ -18,6 +19,12 @@ PipelineTemplate::PipelineTemplate(): max_multisample(0) { } +PipelineTemplate::~PipelineTemplate() +{ + for(PostProcessorArray::iterator i=postprocessors.begin(); i!=postprocessors.end(); ++i) + delete *i; +} + PipelineTemplate::Pass::~Pass() { } @@ -37,6 +44,7 @@ PipelineTemplate::Loader::Loader(PipelineTemplate &t, Collection &c): void PipelineTemplate::Loader::init() { + add("ambient_occlusion", &Loader::postprocessor); add("bloom", &Loader::postprocessor); add("colorcurve", &Loader::postprocessor); add("hdr", &PipelineTemplate::hdr); @@ -103,17 +111,17 @@ void PipelineTemplate::Pass::Loader::init() void PipelineTemplate::Pass::Loader::blend_predefined(const string &name) { - const Blend *blend = 0; + const Blend *bln = 0; if(name=="alpha") - blend = &Blend::alpha(); + bln = &Blend::alpha(); else if(name=="additive") - blend = &Blend::additive(); + bln = &Blend::additive(); else if(name=="additive_alpha") - blend = &Blend::additive_alpha(); + bln = &Blend::additive_alpha(); else throw key_error(name); - obj.blend = blend; + obj.blend = bln; obj.blend.keep(); }