]> git.tdb.fi Git - libs/vr.git/blobdiff - source/ovr/oculusriftcombiner.h
Rename DisplayDevice to System
[libs/vr.git] / source / ovr / oculusriftcombiner.h
index 65809a3a2c6827c79d1d529d234b4f95d30d0181..418c569cc382f55317fb291a3b964c6d7699680b 100644 (file)
@@ -4,12 +4,13 @@
 #include <msp/gl/mesh.h>
 #include <msp/gl/program.h>
 #include <msp/gl/programdata.h>
+#include <msp/gl/view.h>
 #include <msp/vr/stereocombiner.h>
 
 namespace Msp {
 namespace VR {
 
-class OculusRiftDevice;
+class OculusRiftSystem;
 
 /**
 Presents a stereo view in a way suitable for an Oculus Rift HMD.  All distances
@@ -18,7 +19,10 @@ are specified in multiples of the screen width.
 class OculusRiftCombiner: public StereoCombiner
 {
 private:
-       const OculusRiftDevice &device;
+       struct Frustum;
+
+       OculusRiftSystem &device;
+       GL::View &view;
        GL::Mesh left_mesh;
        GL::Mesh right_mesh;
        GL::Program shprog;
@@ -26,8 +30,9 @@ private:
        mutable GL::ProgramData right_shdata;
 
 public:
-       OculusRiftCombiner(const OculusRiftDevice &);
+       OculusRiftCombiner(OculusRiftSystem &, GL::View &);
 
+       virtual void prepare() const;
        virtual void render(const GL::Texture2D &, const GL::Texture2D &) const;
 };