]> git.tdb.fi Git - libs/gl.git/commitdiff
Add a constructor to Pipeline which takes the size from a View
authorMikko Rasa <tdb@tdb.fi>
Tue, 19 Dec 2017 16:09:07 +0000 (18:09 +0200)
committerMikko Rasa <tdb@tdb.fi>
Tue, 19 Dec 2017 16:09:07 +0000 (18:09 +0200)
source/pipeline.cpp
source/pipeline.h

index 29c42324add861d9e7813ba252f4fde9217f20b5..9e2976ab69e5dc4e383c413be18c9239ac786a94 100644 (file)
@@ -9,20 +9,32 @@
 #include "renderer.h"
 #include "tests.h"
 #include "texture2d.h"
+#include "view.h"
 
 using namespace std;
 
 namespace Msp {
 namespace GL {
 
-Pipeline::Pipeline(unsigned w, unsigned h, bool d):
-       camera(0),
-       width(w),
-       height(h),
-       hdr(d),
-       samples(0),
-       target_ms(0)
+Pipeline::Pipeline(unsigned w, unsigned h, bool d)
 {
+       init(w, h);
+       hdr = d;
+}
+
+Pipeline::Pipeline(const View &view)
+{
+       init(view.get_width(), view.get_height());
+}
+
+void Pipeline::init(unsigned w, unsigned h)
+{
+       camera = 0;
+       width = w;
+       height = h;
+       hdr = false;
+       samples = 0;
+       target_ms = 0;
        target[0] = 0;
        target[1] = 0;
 }
index 4ee594444a5e6c465d50347793c572f6f2e076ff..35d10a41c6f5a6f3521ade05f0066a4218bebbb3 100644 (file)
@@ -18,6 +18,7 @@ class Clipping;
 class DepthTest;
 class Lighting;
 class PostProcessor;
+class View;
 
 /**
 Top-level content class.  Typically a Pipeline is used as the content
@@ -85,6 +86,10 @@ private:
 
 public:
        Pipeline(unsigned, unsigned, bool = false);
+       Pipeline(const View &);
+private:
+       void init(unsigned, unsigned);
+public:
        ~Pipeline();
 
        /* Sets high dynamic range mode.  Requires floating-point texture support.