]> git.tdb.fi Git - libs/gl.git/blobdiff - source/builders/pipelinetemplate.cpp
Rearrange vertex attributes
[libs/gl.git] / source / builders / pipelinetemplate.cpp
index b78b4c40a2fca807017fbbbc29b182408e8f0533..29011e31dcf09b4190175493a09da3a11be1d1a3 100644 (file)
@@ -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<PipelineTemplate>(t, 0)
-{
-       init();
-}
-
 PipelineTemplate::Loader::Loader(PipelineTemplate &t, Collection &c):
-       DataFile::CollectionObjectLoader<PipelineTemplate>(t, &c)
-{
-       init();
-}
-
-void PipelineTemplate::Loader::init()
+       DataFile::CollectionObjectLoader<PipelineTemplate, Resources>(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()