in intersection.h Wrong: `normal = glm::normalize(multiplyMV(box.transform, glm::vec4(tmin_n, 0.0f)));` Correct: `normal = glm::normalize(multiplyMV(box.invTranspose, glm::vec4(tmin_n, 0.0f)));`