From 33a1cdc3532d145944b00a4ca03fd01d4d5b9532 Mon Sep 17 00:00:00 2001 From: sotech117 Date: Wed, 13 Dec 2023 13:47:44 -0500 Subject: get the collision detections for cubes and sphers to work using specific cases of separate axis theorem. however, the velocities are no longer flipping. --- src/intersect/normals.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/intersect') diff --git a/src/intersect/normals.cpp b/src/intersect/normals.cpp index 84db534..f9b0ea1 100644 --- a/src/intersect/normals.cpp +++ b/src/intersect/normals.cpp @@ -2,6 +2,7 @@ // Created by Michael Foiani on 11/4/23. // +#include #include "raytracer/raytracer.h" glm::vec4 getConeNormal( @@ -11,7 +12,7 @@ glm::vec4 getConeNormal( { return {0.f, -1.f, 0.f, 0.f}; } - if (RayTracer::floatEquals(intersectPointObject[3], -.5f)) // normal for w base + if (RayTracer::floatEquals(intersectPointObject.w, -.5f)) // normal for w base { return {0.f, 0.f, 0.f, -1.f}; } @@ -19,7 +20,7 @@ glm::vec4 getConeNormal( { return {0.f, 1.f, 0.f, 0.f}; } - if (RayTracer::floatEquals(intersectPointObject[3], .5f)) // normal for w top + if (RayTracer::floatEquals(intersectPointObject.w, .5f)) // normal for w top { return {0.f, 0.f, 0.f, 1.f}; } @@ -81,11 +82,11 @@ glm::vec4 getCubeNormal( { return {0.f, 0.f, 1.f, 0.f}; } - if (RayTracer::floatEquals(intersectPointObject[3], -.5f)) // neg w + if (RayTracer::floatEquals(intersectPointObject.w, -.5f)) // neg w { return {0.f, 0.f, 0.f, -1.f}; } - if (RayTracer::floatEquals(intersectPointObject[3], .5f)) // pos w + if (RayTracer::floatEquals(intersectPointObject.w, .5f)) // pos w { return {0.f, 0.f, 0.f, 1.f}; } -- cgit v1.2.3-70-g09d2