X-Git-Url: http://git.tdb.fi/?p=libs%2Fvr.git;a=blobdiff_plain;f=source%2Fopenvr%2Fopenvrsystem.h;fp=source%2Fopenvr%2Fopenvrsystem.h;h=98ad55673ab78a8ad041aab66b818673158c1e69;hp=0000000000000000000000000000000000000000;hb=b6de7d24475dec8f5d6b8148a69cf8b561bc0761;hpb=c07c707c480f4e989caee17541187f08f136d216 diff --git a/source/openvr/openvrsystem.h b/source/openvr/openvrsystem.h new file mode 100644 index 0000000..98ad556 --- /dev/null +++ b/source/openvr/openvrsystem.h @@ -0,0 +1,35 @@ +#ifndef MSP_VR_OPENVRSYSTEM_H_ +#define MSP_VR_OPENVRSYSTEM_H_ + +#include +#include +#include "openvrcamera.h" +#include "openvrcombiner.h" + +namespace Msp { +namespace VR { + +class OpenVRSystem: public System +{ +private: + GL::Matrix hmd_matrix; + + static unsigned n_instances; + +public: + OpenVRSystem(); + ~OpenVRSystem(); + + 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