From 8554c1dfbfa3020ff7157cd009d67cde3abb0b78 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Tue, 25 Feb 2014 16:50:59 -0800 Subject: [PATCH] Force a minimum convergence distance on the eyes. Closes #2100. --- interface/src/Application.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 03905a45c1..4c34e35dc7 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -2056,7 +2056,10 @@ void Application::updateMyAvatarLookAtPosition() { } else if (_isHoverVoxel) { distance = glm::distance(_mouseRayOrigin, getMouseVoxelWorldCoordinates(_hoverVoxel)); } - lookAtSpot = _mouseRayOrigin + _mouseRayDirection * distance; + const float FIXED_MIN_EYE_DISTANCE = 0.3f; + float minEyeDistance = FIXED_MIN_EYE_DISTANCE + (_myCamera.getMode() == CAMERA_MODE_FIRST_PERSON ? 0.0f : + glm::distance(_mouseRayOrigin, _myAvatar->getHead()->calculateAverageEyePosition())); + lookAtSpot = _mouseRayOrigin + _mouseRayDirection * qMax(minEyeDistance, distance); } bool trackerActive = false; float eyePitch, eyeYaw;