X-Git-Url: http://git.tdb.fi/?p=libs%2Fvr.git;a=blobdiff_plain;f=source%2Fopenvr%2Fopenvrdevice.h;fp=source%2Fopenvr%2Fopenvrdevice.h;h=a1ee0db0b0a3483b531a1ee44010fb5a0f70bc96;hp=0000000000000000000000000000000000000000;hb=78598b41009aeabb7f9b4b4ddc05b68e7edd6eb6;hpb=ca9e343224762bd43c91af1b15ecba12ebf3e991 diff --git a/source/openvr/openvrdevice.h b/source/openvr/openvrdevice.h new file mode 100644 index 0000000..a1ee0db --- /dev/null +++ b/source/openvr/openvrdevice.h @@ -0,0 +1,35 @@ +#ifndef MSP_VR_OPENVRDEVICE_H_ +#define MSP_VR_OPENVRDEVICE_H_ + +#include +#include +#include "openvrcamera.h" +#include "openvrcombiner.h" + +namespace Msp { +namespace VR { + +class OpenVRDevice: public DisplayDevice +{ +private: + GL::Matrix hmd_matrix; + + static unsigned n_instances; + +public: + OpenVRDevice(); + ~OpenVRDevice(); + + virtual void configure_window(Graphics::Window &) const { } + virtual void configure_view(StereoView &) const { } + virtual OpenVRCamera *create_camera(const GL::Camera &); + virtual OpenVRCombiner *create_combiner(GL::View &); + + void update_pose_matrices(); + const GL::Matrix &get_hmd_matrix() const { return hmd_matrix; } +}; + +} // namespace VR +} // namespace Msp + +#endif