X-Git-Url: http://git.tdb.fi/?p=libs%2Fvr.git;a=blobdiff_plain;f=source%2Fstereoview.h;h=f9e9a560ea7eefc21b8f4081cf627267e4e601db;hp=5516823ccb1a219f7c689975514fc5fa85ffee08;hb=0f239b07bc06bf26d0ee0f9c1ee1e3b636f6d1f6;hpb=268da92f49360feaf9445ed2b8264d9310d3cebe diff --git a/source/stereoview.h b/source/stereoview.h index 5516823..f9e9a56 100644 --- a/source/stereoview.h +++ b/source/stereoview.h @@ -13,7 +13,7 @@ namespace VR { class StereoCombiner; -class StereoView: public GL::Renderable +class StereoView { private: struct RenderTarget @@ -42,7 +42,7 @@ private: void create_target(unsigned, unsigned); void setup_frame(const GL::Camera &, const GL::Vector3 &, float, const EyeParams &) const; - void render(const GL::Renderable &, const GL::Tag &) const; + void render(const GL::Renderable &) const; }; unsigned width; @@ -53,19 +53,19 @@ private: Eye left; Eye right; float eye_spacing; - mutable GL::Vector3 offset_axis; + Geometry::Angle strabismus; public: StereoView(unsigned, unsigned, const GL::Camera &, const GL::Renderable &, const StereoCombiner &); void set_combiner(const StereoCombiner &); void set_eye_spacing(float); + void set_strabismus(const Geometry::Angle &); - virtual void setup_frame() const; - virtual void finish_frame() const; - - virtual void render(const GL::Tag & = GL::Tag()) const; - virtual void render(GL::Renderer &, const GL::Tag & = GL::Tag()) const; +private: + void setup_frame() const; +public: + void render() const; }; } // namespace VR