class OpenVRSystem: public System
{
private:
- GL::Matrix hmd_matrix;
+ unsigned n_tracked_devices;
+ std::vector<GL::Matrix> tracking_matrices;
static unsigned n_instances;
virtual void configure_window(Graphics::Window &) const { }
virtual void configure_view(StereoView &) const;
+ virtual bool is_absolute_tracking_supported() const { return true; }
virtual void set_absolute_tracking(bool);
+ virtual bool get_absolute_tracking() 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; }
+ const GL::Matrix &get_tracking_matrix(unsigned) const;
+ const GL::Matrix &get_hmd_matrix() const;
};
} // namespace VR