return float max for no hit

This commit is contained in:
Jorijn van der Graaf 2026-02-11 03:16:16 +01:00
commit a367a780ba

View file

@ -31,13 +31,12 @@ namespace Crafter {
Vector<T, 3, 0> h = Vector<T, 3, 0>::Cross(rayDir, edge2);
float determinant = Vector<T, 3, 0>::Dot(edge1, h);
if(determinant < 0) {
return -1;
return std::numeric_limits<float>::max();
}
if (determinant > -EPSILON && determinant < EPSILON) {
return -1;
return std::numeric_limits<float>::max();
}
float inverse_determinant = 1.0 / determinant;
@ -54,7 +53,7 @@ namespace Crafter {
float v = inverse_determinant * Vector<T, 3, 0>::Dot(rayDir, q);
if (v < 0.0 || u + v > 1.0) {
return -1;
return std::numeric_limits<float>::max();
}
return inverse_determinant * Vector<T, 3, 0>::Dot(edge2, q);