LibOVRCombiner::LibOVRCombiner(LibOVRSystem &d, GL::View &v):
- device(d),
+ system(d),
view(v),
left_mesh((GL::VERTEX2, GL::TEXCOORD2,0, GL::TEXCOORD2,1, GL::TEXCOORD2,2, GL::TEXCOORD2,3)),
right_mesh((GL::VERTEX2, GL::TEXCOORD2,0, GL::TEXCOORD2,1, GL::TEXCOORD2,2, GL::TEXCOORD2,3)),
shprog(vs_source, fs_source)
{
- ovrHmd hmd = device.get_private().ovr_hmd;
+ ovrHmd hmd = system.get_private().ovr_hmd;
ovrFovPort left_fov = hmd->DefaultEyeFov[ovrEye_Left];
ovrFovPort right_fov = hmd->DefaultEyeFov[ovrEye_Right];
right_shdata.uniform("uv_scale", uv_scale_offset[0].x, -uv_scale_offset[0].y);
right_shdata.uniform("uv_offset", uv_scale_offset[1].x, 1-uv_scale_offset[1].y);
- device.configure_window(view.get_window());
+ system.configure_window(view.get_window());
}
void LibOVRCombiner::prepare() const
{
- device.begin_frame();
+ system.begin_frame();
}
void LibOVRCombiner::render(const GL::Texture2D &left, const GL::Texture2D &right) const
{
GL::Bind bind_shprog(shprog);
- ovrHmd hmd = device.get_private().ovr_hmd;
+ ovrHmd hmd = system.get_private().ovr_hmd;
- if(device.is_timing_active())
+ if(system.is_timing_active())
{
- ovr_WaitTillTime(device.get_timewarp_time());
- ovrTrackingState state = ovrHmd_GetTrackingState(hmd, device.get_tracking_time());
+ ovr_WaitTillTime(system.get_timewarp_time());
+ ovrTrackingState state = ovrHmd_GetTrackingState(hmd, system.get_tracking_time());
ovrMatrix4f matrices[2];
ovrHmd_GetEyeTimewarpMatrices(hmd, ovrEye_Left, state.HeadPose.ThePose, matrices);
right_mesh.draw();
view.get_context().swap_buffers();
- device.end_frame();
+ system.end_frame();
}