X-Git-Url: http://git.tdb.fi/?p=libs%2Fvr.git;a=blobdiff_plain;f=source%2Fstereoview.h;h=ff34706cc4b450d1daff8d7844b5147c282ffc5d;hp=842636e6697ce780f23c39531c2d1d30dec4f19b;hb=735148a3ecf7e753f520f22668b771583185f72f;hpb=fa43a20e8274638b84c26e052dd8f7cc8993edd9 diff --git a/source/stereoview.h b/source/stereoview.h index 842636e..ff34706 100644 --- a/source/stereoview.h +++ b/source/stereoview.h @@ -11,6 +11,7 @@ namespace Msp { namespace VR { +class HeadTrackingCamera; class StereoCombiner; class StereoView @@ -45,21 +46,23 @@ private: void render(const GL::Renderable &) const; }; - unsigned width; - unsigned height; + const StereoCombiner &combiner; const GL::Camera &base_camera; - const GL::Renderable &renderable; - const StereoCombiner *combiner; + HeadTrackingCamera *head_camera; + const GL::Renderable *content; Eye left; Eye right; float eye_spacing; Geometry::Angle strabismus; - mutable GL::Vector3 offset_axis; public: - StereoView(unsigned, unsigned, const GL::Camera &, const GL::Renderable &, const StereoCombiner &); + StereoView(const StereoCombiner &, const GL::Camera &); + StereoView(const StereoCombiner &, HeadTrackingCamera &); +private: + void init(); - void set_combiner(const StereoCombiner &); +public: + void set_content(const GL::Renderable *); void set_eye_spacing(float); void set_strabismus(const Geometry::Angle &);