Use provided invDirection from G3D::Ray instead of calculating it ourselves.

This commit is contained in:
Meltie2013 2022-04-22 22:28:50 +01:00 committed by Antz
parent 9274f5d546
commit 5160cd4f5c
No known key found for this signature in database
GPG Key ID: 0DF907270598C85F

View File

@ -25,17 +25,18 @@
#ifndef MANGOS_H_BIH
#define MANGOS_H_BIH
#include <stdexcept>
#include <vector>
#include <algorithm>
#include <cmath>
#include <Platform/Define.h>
#include <G3D/Vector3.h>
#include <G3D/Ray.h>
#include <G3D/AABox.h>
#include <Platform/Define.h>
#include <stdexcept>
#include <vector>
#include <algorithm>
#include <limits>
#include <cmath>
#define MAX_STACK_SIZE 64
#ifdef _MSC_VER
@ -187,12 +188,11 @@ class BIH
{
float intervalMin = -1.f;
float intervalMax = -1.f;
Vector3 org = r.origin();
Vector3 dir = r.direction();
Vector3 invDir;
Vector3 const& org = r.origin();
Vector3 const& dir = r.direction();
Vector3 const& invDir = r.invDirection();
for (int i = 0; i < 3; ++i)
{
invDir[i] = 1.f / dir[i];
if (G3D::fuzzyNe(dir[i], 0.0f))
{
float t1 = (bounds.low()[i] - org[i]) * invDir[i];