X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbuilders%2Fpipelinetemplate.cpp;fp=source%2Fbuilders%2Fpipelinetemplate.cpp;h=29011e31dcf09b4190175493a09da3a11be1d1a3;hp=b78b4c40a2fca807017fbbbc29b182408e8f0533;hb=9a63244c1342337915c4610401a24c09fa72cc3d;hpb=73bef37da97b6da0b99227f63235cb52c4e56c44 diff --git a/source/builders/pipelinetemplate.cpp b/source/builders/pipelinetemplate.cpp index b78b4c40..29011e31 100644 --- a/source/builders/pipelinetemplate.cpp +++ b/source/builders/pipelinetemplate.cpp @@ -6,6 +6,7 @@ #include "colorcurve.h" #include "lighting.h" #include "pipelinetemplate.h" +#include "resources.h" #include "tests.h" using namespace std; @@ -14,6 +15,7 @@ namespace Msp { namespace GL { PipelineTemplate::PipelineTemplate(): + resources(0), hdr(false), alpha(false), required_multisample(0), @@ -26,6 +28,13 @@ PipelineTemplate::~PipelineTemplate() delete i->postprocessor_template; } +Resources &PipelineTemplate::get_resources() const +{ + if(!resources) + throw logic_error("no resources"); + return *resources; +} + PipelineTemplate::PostProcessorRegistry &PipelineTemplate::get_postprocessor_registry() { @@ -57,19 +66,8 @@ PipelineTemplate::PostProcLoader::PostProcLoader() } -PipelineTemplate::Loader::Loader(PipelineTemplate &t): - DataFile::CollectionObjectLoader(t, 0) -{ - init(); -} - PipelineTemplate::Loader::Loader(PipelineTemplate &t, Collection &c): - DataFile::CollectionObjectLoader(t, &c) -{ - init(); -} - -void PipelineTemplate::Loader::init() + DataFile::CollectionObjectLoader(t, &c) { add("hdr", &PipelineTemplate::hdr); add("alpha", &PipelineTemplate::alpha); @@ -77,6 +75,8 @@ void PipelineTemplate::Loader::init() add("multisample", &Loader::multisample_range); add("pass", &Loader::pass); add("postprocessor", &Loader::postprocessor); + + obj.resources = &c; } void PipelineTemplate::Loader::postprocessor_loaded()