Fix directional shadow alignment across backends

This commit is contained in:
2026-04-05 12:40:34 +08:00
parent bc6722e5ab
commit ec97445071
5 changed files with 677 additions and 50 deletions

View File

@@ -204,6 +204,16 @@ TEST(Math_Quaternion, LookRotation_Right) {
EXPECT_NEAR(q.w, 0.707f, 1e-3f);
}
TEST(Math_Quaternion, LookRotation_ArbitraryForwardPreserved) {
const Vector3 requestedForward = Vector3(0.84f, -0.52f, -0.14f).Normalized();
const Quaternion q = Quaternion::LookRotation(requestedForward);
const Vector3 actualForward = q * Vector3::Forward();
EXPECT_NEAR(actualForward.x, requestedForward.x, 1e-4f);
EXPECT_NEAR(actualForward.y, requestedForward.y, 1e-4f);
EXPECT_NEAR(actualForward.z, requestedForward.z, 1e-4f);
}
TEST(Math_Quaternion, Multiply_ProducesRotation) {
Quaternion q1 = Quaternion::FromAxisAngle(Vector3::Up(), PI * 0.5f);
Quaternion q2 = Quaternion::FromAxisAngle(Vector3::Right(), PI * 0.5f);