6 #include "gl_vr_display.h"
86 void destruct_camera();
92 void clear_tracking_reference_states();
94 void mark_tracking_references_as_untracked();
98 vr_kit(
vr_driver* _driver,
void* _handle,
const std::string& _name,
unsigned _width,
unsigned _height,
unsigned _nr_multi_samples = 4);
103 void* get_handle()
const;
107 const std::string& get_name()
const;
118 virtual void set_controller_input_config(
int controller_index,
int input_index,
const controller_input_config& cic);
131 bool query_state(
vr_kit_state& state,
int pose_query = 2);
133 virtual bool set_vibration(
unsigned controller_index,
float low_frequency_strength,
float high_frequency_strength) = 0;
139 virtual void put_projection_matrix(
int eye,
float z_near,
float z_far,
float* projection_matrix,
const float* hmd_pose = 0)
const = 0;
141 virtual void put_world_to_eye_transform(
int eye,
const float* hmd_pose,
float* modelview_matrix)
const;
149 #include <cgv/config/lib_end.h>
information provided for a vr kit
Definition: vr_info.h:146
vr_camera * camera
pointer to camera
Definition: vr_kit.h:76
vr_driver * driver
pointer to driver that created the vr kit
Definition: vr_kit.h:72
implements offscreen rendering
Definition: gl_vr_display.h:25
the vr namespace for virtual reality support
Definition: gl_vr_display.cxx:5
vr_kit_info info
store vr kit info to be filled and updated by driver implementations
Definition: vr_kit.h:82
void * handle
handle for internal use
Definition: vr_kit.h:74
std::string name
name in case driver provides this information (not reliable)
Definition: vr_kit.h:80
a vr kit is composed of headset, two controllers, and two trackers, where all devices can be attached...
Definition: vr_kit.h:69
virtual void put_eye_to_head_matrix(int eye, float *pose_matrix) const =0
access to 3x4 matrix in column major format for transformation from eye (0..left, 1....
class CGV_API vr_driver
forward declaration of vr driver class
Definition: vr_driver.h:33
interface class for vr drivers.
Definition: vr_driver.h:57
interface for mono or stereo cameras in VR headsets
Definition: vr_camera.h:38
virtual bool query_state_impl(vr_kit_state &state, int pose_query)=0
derived kits implement this without caring about calibration; vr_kit::query_state() will apply driver...
a trackable knows whether it is tracked and its 6d pose stored as 3x4 matrix in column major format
Definition: vr_state.h:94
virtual bool set_vibration(unsigned controller_index, float low_frequency_strength, float high_frequency_strength)=0
set the vibration strength between 0 and 1 of low and high frequency motors, return false if device i...
virtual void put_projection_matrix(int eye, float z_near, float z_far, float *projection_matrix, const float *hmd_pose=0) const =0
access to 4x4 matrix in column major format for perspective transformation from eye (0....
bool skip_calibration
whether to skip driver calibration - defaults to false
Definition: vr_kit.h:78
virtual void submit_frame()=0
submit the rendered stereo frame to the hmd
structure that stores all information describing the state of a VR kit
Definition: vr_state.h:139
information provided for tracking system
Definition: vr_info.h:176