From dce400da7c65d659129abf9bc6e8f38b360a63d2 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Mon, 26 Aug 2019 20:13:01 -0400 Subject: [PATCH] Fix camera version + VR using spacebar. --- CameraPane.java | 36 ++++++++++++++++++++++++++---------- 1 files changed, 26 insertions(+), 10 deletions(-) diff --git a/CameraPane.java b/CameraPane.java index b983dd6..68bd5e4 100644 --- a/CameraPane.java +++ b/CameraPane.java @@ -9840,7 +9840,10 @@ DrawSkyBox(gl, (float)rati); gl.glEnable(GL.GL_FRAGMENT_PROGRAM_ARB); gl.glEnable(GL.GL_VERTEX_PROGRAM_ARB); - accPerspective(gl, renderCamera.shaper_fovy / ratio, + + boolean vr = capsLocked && !lightMode; + + accPerspective(gl, renderCamera.shaper_fovy / ratio * (vr ? 2 : 1), ratio, //near_plane, far_plane, renderCamera.shaper_zNear * renderCamera.Distance(), renderCamera.shaper_zFar * renderCamera.Distance(), @@ -11397,7 +11400,9 @@ //gl.glOrtho(-BOOST, BOOST, -BOOST, BOOST, 0.001, 1000); } else { - glu.gluPerspective(cam.shaper_fovy / ratio, ratio, cam.shaper_zNear * cam.Distance(), cam.shaper_zFar * cam.Distance()); + boolean vr = capsLocked && !lightMode; + + glu.gluPerspective(cam.shaper_fovy / ratio * (vr ? 2 : 1), ratio, cam.shaper_zNear * cam.Distance(), cam.shaper_zFar * cam.Distance()); } } @@ -14250,10 +14255,12 @@ return; } - boolean capsLocked = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK); + //boolean capsLocked = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK); + + boolean vr = capsLocked && !lightMode; // TIMER - if (ZOOMBOXMODE && !wheeltimer.isRunning() && e.getModifiersEx() == 0 && !capsLocked) // VR + if (ZOOMBOXMODE && !wheeltimer.isRunning() && e.getModifiersEx() == 0 && !vr) // VR { keepboxmode = BOXMODE; keepsupport = SUPPORT; @@ -15239,8 +15246,10 @@ mouseMode |= ZOOM; } - boolean capsLocked = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK); - if (capsLocked) // || (modifiers & META) == META) + //boolean capsLocked = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK); + boolean vr = capsLocked && !lightMode; + + if (vr) // || (modifiers & META) == META) { mouseMode |= VR; // BACKFORTH; } @@ -15456,8 +15465,8 @@ RevertCamera(); repaint(); break; - case 'l': - //case 'L': + //case 'l': + case 'L': if (lightMode) { lightMode = false; @@ -15515,8 +15524,8 @@ break; case 'O': // Too dangerous. Use menu. Globals.drawMode = OCCLUSION; // WARNING - repaint(); - break; + //repaint(); + //break; case 'o': OCCLUSION_CULLING ^= true; System.out.println("OCCLUSION CULLING = " + OCCLUSION_CULLING); @@ -15608,6 +15617,10 @@ // kompactbit = 6; // break; case ' ': + capsLocked ^= true; + repaint(); + break; + case 'l': lightMode ^= true; Globals.lighttouched = true; manipCamera = renderCamera = lightMode ? lightCamera : eyeCamera; @@ -17911,6 +17924,9 @@ static boolean DEBUG_SELECTION = false; boolean OCCLUSION_CULLING = false; //true; public boolean lightMode = false; + + public boolean capsLocked = false; // VR + static public int indexcount = 0; /*static*/ cColor vertexOcclusion = new cColor(); //private int selection_view = -1; -- Gitblit v1.6.2