]> git.tdb.fi Git - libs/vr.git/blobdiff - source/stereocombiner.h
Copy fov and aspect from base camera
[libs/vr.git] / source / stereocombiner.h
index 10179309c6d0f3d81de53807997a30588a498353..f078df773592531fe9b8ad79b3aa74d6321b5bc2 100644 (file)
@@ -1,10 +1,11 @@
-#ifndef MSP_GL_STEREOCOMBINER_H_
-#define MSP_GL_STEREOCOMBINER_H_
+#ifndef MSP_VR_STEREOCOMBINER_H_
+#define MSP_VR_STEREOCOMBINER_H_
 
-namespace Msp {
-namespace GL {
+#include <msp/geometry/angle.h>
+#include <msp/gl/texture2d.h>
 
-class Texture2D;
+namespace Msp {
+namespace VR {
 
 class StereoCombiner
 {
@@ -12,7 +13,8 @@ protected:
        unsigned width_div;
        unsigned height_div;
        bool keep_aspect;
-       float fov;
+       Geometry::Angle<float> fov;
+       float oversize;
 
        StereoCombiner();
 public:
@@ -21,12 +23,13 @@ public:
        unsigned get_width_divisor() const { return width_div; }
        unsigned get_height_divisor() const { return height_div; }
        bool is_aspect_kept() const { return keep_aspect; }
-       float get_field_of_view() const { return fov; }
+       const Geometry::Angle<float> &get_field_of_view() const { return fov; }
+       float get_oversize() const { return oversize; }
 
-       virtual void render(const Texture2D &, const Texture2D &) const = 0;
+       virtual void render(const GL::Texture2D &, const GL::Texture2D &) const = 0;
 };
 
-} // namespace GL
+} // namespace VR
 } // namespace Msp
 
 #endif