#include <string>
#include <msp/gl/camera.h>
#include <msp/gl/view.h>
+#include "motioncontroller.h"
namespace Msp {
namespace VR {
virtual ~System() { }
static System *create(const std::string &);
+ static System *create_autodetect();
virtual void configure_window(Graphics::Window &) const = 0;
virtual void configure_view(StereoView &) const = 0;
+ virtual bool is_absolute_tracking_supported() const { return false; }
+ virtual void set_absolute_tracking(bool);
+ virtual bool get_absolute_tracking() const { return false; }
virtual HeadTrackingCamera *create_camera(const GL::Camera &) = 0;
virtual StereoCombiner *create_combiner(GL::View &) = 0;
+ virtual MotionController *create_controller();
+
+ virtual void tick() { }
};
} // namespace VR