From f8fdd2d11f3411a4f7a521cfcb88b4bfd154fde7 Mon Sep 17 00:00:00 2001 From: barnold1953 Date: Tue, 8 Jul 2014 17:15:11 -0700 Subject: [PATCH] Minor adjustments --- interface/src/devices/OculusManager.cpp | 2 +- interface/src/ui/ApplicationOverlay.cpp | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/interface/src/devices/OculusManager.cpp b/interface/src/devices/OculusManager.cpp index 976bd5ba8e..804ebd1873 100644 --- a/interface/src/devices/OculusManager.cpp +++ b/interface/src/devices/OculusManager.cpp @@ -490,7 +490,7 @@ void OculusManager::renderLaserPointer() { glm::vec3 OculusManager::getLaserPointerTipPosition(const PalmData* palm) { #ifdef HAVE_LIBOVR - const float PALM_TIP_ROD_LENGTH_MULT = 11.0f; + const float PALM_TIP_ROD_LENGTH_MULT = 4.0f; return palm->getPosition() + (palm->getTipPosition() - palm->getPosition()) * PALM_TIP_ROD_LENGTH_MULT; #endif return glm::vec3(0.0f); diff --git a/interface/src/ui/ApplicationOverlay.cpp b/interface/src/ui/ApplicationOverlay.cpp index b768c522ad..bc30ab6b54 100644 --- a/interface/src/ui/ApplicationOverlay.cpp +++ b/interface/src/ui/ApplicationOverlay.cpp @@ -274,7 +274,6 @@ QPoint ApplicationOverlay::getOculusPalmClickLocation(PalmData *palm) const { const int widgetWidth = glWidget->width(); const int widgetHeight = glWidget->height(); - glm::vec3 tip = OculusManager::getLaserPointerTipPosition(palm); glm::vec3 eyePos = myAvatar->getHead()->calculateAverageEyePosition(); glm::quat orientation = glm::inverse(myAvatar->getOrientation()); @@ -285,9 +284,11 @@ QPoint ApplicationOverlay::getOculusPalmClickLocation(PalmData *palm) const { float t; - //Find intersection of crosshair ray - if (raySphereIntersect(dir, tipPos, 1, &t)){ - glm::vec3 collisionPos = tipPos + dir * t; + //We back the ray up by dir to ensure that it will not start inside the UI. + glm::vec3 adjustedPos = tipPos - dir; + //Find intersection of crosshair ray. + if (raySphereIntersect(dir, adjustedPos, 1, &t)){ + glm::vec3 collisionPos = adjustedPos + dir * t; float u = asin(collisionPos.x) / (_textureFov)+0.5f; float v = 1.0 - (asin(collisionPos.y) / (_textureFov)+0.5f); @@ -682,7 +683,7 @@ void ApplicationOverlay::renderControllerPointersOculus() { float t; float length = glm::length(eyePos - tip); - float size = 0.045f * length; + float size = 0.03f * length; glm::vec3 up = glm::vec3(0.0, 1.0, 0.0) * size; glm::vec3 right = glm::vec3(1.0, 0.0, 0.0) * size;