Give combiners more control over rendering
[libs/vr.git] / source / displaydevice.h
1 #ifndef MSP_VR_DISPLAYDEVICE_H_
2 #define MSP_VR_DISPLAYDEVICE_H_
3
4 #include <msp/gl/camera.h>
5 #include <msp/gl/view.h>
6
7 namespace Msp {
8 namespace VR {
9
10 class HeadTrackingCamera;
11 class StereoCombiner;
12 class StereoView;
13
14 class DisplayDevice
15 {
16 protected:
17         DisplayDevice() { }
18 public:
19         virtual ~DisplayDevice() { }
20
21         virtual void configure_view(StereoView &) const = 0;
22         virtual HeadTrackingCamera *create_camera(const GL::Camera &) = 0;
23         virtual StereoCombiner *create_combiner(GL::View &) = 0;
24 };
25
26 } // namespace VR
27 } // namespace Msp
28
29 #endif