From e545cfe4067cf8115ae7ec05a49f5178526d7659 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Wed, 22 Jan 2014 14:33:47 -0800 Subject: [PATCH] Fix for planes not at the origin. --- interface/src/ui/MetavoxelEditor.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interface/src/ui/MetavoxelEditor.cpp b/interface/src/ui/MetavoxelEditor.cpp index d0d569cc70..42cde77f86 100644 --- a/interface/src/ui/MetavoxelEditor.cpp +++ b/interface/src/ui/MetavoxelEditor.cpp @@ -211,13 +211,13 @@ void MetavoxelEditor::render() { glLineWidth(4.0f); glm::vec3 eyePosition = rotation * Application::getInstance()->getViewFrustum()->getOffsetPosition(); glm::vec3 mousePoint = glm::vec3(_mousePosition, position); - glm::vec3 right = glm::cross(glm::vec3(0.0f, 0.0f, 1.0f), mousePoint - eyePosition); + glm::vec3 right = glm::cross(glm::vec3(0.0f, 0.0f, 1.0f), eyePosition - mousePoint); glm::vec3 normal = glm::cross(right, glm::vec3(0.0f, 0.0f, 1.0f)); float divisor = glm::dot(normal, rayDirection); if (fabs(divisor) > EPSILON) { float distance = (glm::dot(normal, mousePoint) - glm::dot(normal, rayOrigin)) / divisor; float projection = rayOrigin.z + distance * rayDirection.z; - _height = spacing * roundf(projection / spacing); + _height = spacing * roundf(projection / spacing) - position; } } else if (fabs(rayDirection.z) > EPSILON) { // find the intersection of the rotated mouse ray with the plane