class StereoCombiner;
-class StereoView: public GL::Renderable
+class StereoView
{
private:
struct RenderTarget
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;
Eye right;
float eye_spacing;
Geometry::Angle<float> strabismus;
- mutable GL::Vector3 offset_axis;
public:
StereoView(unsigned, unsigned, const GL::Camera &, const GL::Renderable &, const StereoCombiner &);
void set_eye_spacing(float);
void set_strabismus(const Geometry::Angle<float> &);
- 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