nuclear@1: #ifndef VR_IMPL_H_ nuclear@1: #define VR_IMPL_H_ nuclear@1: nuclear@1: #include nuclear@1: nuclear@1: using namespace OVR; nuclear@1: nuclear@3: struct VRContext { nuclear@1: DeviceManager *ovr_devman; nuclear@1: HMDDevice *ovr_hmd_dev; nuclear@1: SensorDevice *ovr_sensor_dev; nuclear@3: SensorFusion ovr_sfusion; nuclear@1: nuclear@3: struct { nuclear@15: char *display; nuclear@3: // the full width and height of the display (both eyes) nuclear@3: int width, height; nuclear@3: float fov; nuclear@3: // the full aspect ratio of the display (both eyes) nuclear@3: float aspect; nuclear@3: float ipd; nuclear@3: float distort[4]; nuclear@12: // the right lens center offset (negate for left) nuclear@13: float lens_center_offset; nuclear@13: float proj_center_offset; nuclear@13: float scale; // scaling to be applied to the two views to fill the screen nuclear@3: } info; nuclear@1: }; nuclear@1: nuclear@3: extern VRContext vr_ctx; nuclear@1: nuclear@12: bool vr_gl_init(); nuclear@12: nuclear@1: #endif // VR_IMPL_H_