SHARE
TWEET

Untitled

a guest Jul 7th, 2013 148 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. diff --git a/Quake/r_renderhmd.c b/Quake/r_renderhmd.c
  2. index cfa87a0..6dab593 100644
  3. --- a/Quake/r_renderhmd.c
  4. +++ b/Quake/r_renderhmd.c
  5. @@ -359,15 +359,15 @@ qboolean R_InitHMDRenderer(hmd_settings_t *hmd)
  6.         // Set up eyes
  7.         left_eye.offset = -player_height_units * (hmd->interpupillary_distance/player_height_m) * 0.5;
  8.         left_eye.lens_shift = lens_shift;
  9. -       left_eye.fbo = CreateFBO(glwidth*left_eye.viewport.width, glheight*left_eye.viewport.height);
  10. +       left_eye.fbo = CreateFBO(glwidth*left_eye.viewport.width * 3, glheight*left_eye.viewport.height * 3);
  11.         CreatePerspectiveMatrix(left_eye.projection_matrix, fovy, aspect, 4, gl_farclip.value, h);
  12.  
  13.         right_eye.offset = player_height_units * (hmd->interpupillary_distance/player_height_m) * 0.5;
  14.         right_eye.lens_shift = -lens_shift;
  15. -       right_eye.fbo = CreateFBO(glwidth*right_eye.viewport.width, glheight*right_eye.viewport.height);
  16. +       right_eye.fbo = CreateFBO(glwidth*right_eye.viewport.width * 3, glheight*right_eye.viewport.height * 3);
  17.         CreatePerspectiveMatrix(right_eye.projection_matrix, fovy, aspect, 4, gl_farclip.value, -h);
  18.  
  19. -      
  20. +
  21.         // Get uniform location and set some values
  22.         glUseProgramObjectARB(lens_warp_shader.program);
  23.         lens_warp_shader_uniforms.scale = glGetUniformLocationARB(lens_warp_shader.program, "scale");
  24. @@ -418,7 +418,13 @@ void RenderScreenForEye(hmd_eye_t *eye)
  25.         // Remember the current vrect.width and vieworg; we have to modify it here
  26.         // for each eye
  27.         int oldwidth = r_refdef.vrect.width;
  28. +       int oldheight = r_refdef.vrect.height;
  29. +       int oldglheight = glheight;
  30. +       int oldglwidth = glwidth;
  31. +       glheight *= 3;
  32.         r_refdef.vrect.width *= eye->viewport.width;
  33. +       r_refdef.vrect.width *= 3;
  34. +       r_refdef.vrect.height *= 3;
  35.  
  36.         glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, eye->fbo.framebuffer);
  37.         glClear(GL_DEPTH_BUFFER_BIT);
  38. @@ -443,8 +449,11 @@ void RenderScreenForEye(hmd_eye_t *eye)
  39.  
  40.         glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
  41.         r_refdef.vrect.width = oldwidth;
  42. +       r_refdef.vrect.height = oldheight;
  43.         hmd_projection_matrix = NULL;
  44.         hmd_view_offset = 0;
  45. +       glheight = oldglheight;
  46. +       glwidth = oldglwidth;
  47.  }
  48.  
  49.  void RenderEyeOnScreen(hmd_eye_t *eye)
RAW Paste Data
Want to get better at C++?
Learn to code C++ in 2017
Top