points[i].position = transformation.transform(points[i].position);
/* XXX This is not correct for nonuniform scaling. Inverse of the
transpose of the upper DxD part of the matrix should be used. */
- points[i].normal = transformation.transform(points[i].normal);
+ points[i].normal = transformation.transform_linear(points[i].normal);
points[i].distance = inner_product(points[i].position-ray.get_start(), ray.get_direction());
}
}