From 1f259d235dcfa74f36d1c20b463c3e6526f23454 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Thu, 19 Jul 2018 15:30:11 -0700 Subject: [PATCH] Fix computePickRay when in mirror mode In mirror mode the view frustum is unaffected - instead we flip the final image. To compensate for this, we need to flip the x coordinate of our pick point when picking in mirror mode. --- interface/src/Application.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 311c08b858..8fd5f2567f 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -6190,6 +6190,9 @@ PickRay Application::computePickRay(float x, float y) const { getApplicationCompositor().computeHmdPickRay(pickPoint, result.origin, result.direction); } else { pickPoint /= getCanvasSize(); + if (_myCamera.getMode() == CameraMode::CAMERA_MODE_MIRROR) { + pickPoint.x = 1.0f - pickPoint.x; + } QMutexLocker viewLocker(&_viewMutex); _viewFrustum.computePickRay(pickPoint.x, pickPoint.y, result.origin, result.direction); }