Beispiel #1
0
Ray operator *(const float3x3 &transform, const Ray &ray)
{
	assume(transform.IsInvertible());
	return Ray(transform * ray.pos, (transform * ray.dir).Normalized());
}
Beispiel #2
0
Ray operator *(const float3x3 &transform, const Ray &ray)
{
	assume(transform.IsInvertible(1e-6f)); // Tundra: use smaller epsilon in order to prevent assumption spam when raycasting to non-uniformly scaled objects.
	return Ray(transform * ray.pos, (transform * ray.dir).Normalized());
}