From 6019c9be9e028fc5948bfa87f2f4f0fe75e0ef88 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Sun, 25 Mar 2018 20:37:03 -0700 Subject: Added ortho projection matrix test --- DiligentCore | 2 +- Tests/TestApp/src/MathLibTest.cpp | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/DiligentCore b/DiligentCore index dcf0d7e..f419bd2 160000 --- a/DiligentCore +++ b/DiligentCore @@ -1 +1 @@ -Subproject commit dcf0d7e9050bd0a193b020228b27ca8a0ee2f177 +Subproject commit f419bd2c4fa2bf8df5df29100eae6fbca1d2578a diff --git a/Tests/TestApp/src/MathLibTest.cpp b/Tests/TestApp/src/MathLibTest.cpp index c04fe2c..d43de16 100644 --- a/Tests/TestApp/src/MathLibTest.cpp +++ b/Tests/TestApp/src/MathLibTest.cpp @@ -519,6 +519,38 @@ public: 5, 6); std::hash()(m3); } + + // Test ortho projection matrix + { + { + float4x4 OrthoProj = Ortho(2.f, 4.f, -4.f, 12.f, true); + auto c0 = float3(-1.f, -2.f, -4.f) * OrthoProj; + auto c1 = float3(+1.f, +2.f, +12.f) * OrthoProj; + VERIFY_EXPR(c0 == float3(-1, -1, 0) && c1 == float3(+1,+1,+1) ); + } + + { + float4x4 OrthoProj = Ortho(2.f, 4.f, -4.f, 12.f, false); + auto c0 = float3(-1.f, -2.f, -4.f) * OrthoProj; + auto c1 = float3(+1.f, +2.f, +12.f) * OrthoProj; + VERIFY_EXPR(c0 == float3(-1, -1, -1) && c1 == float3(+1, +1, +1)); + } + + { + float4x4 OrthoProj = OrthoOffCenter(-2.f, 6.f, -4.f, +12.f, -6.f, 10.f, true); + auto c0 = float3(-2.f, -4.f, -6.f) * OrthoProj; + auto c1 = float3(+6.f, +12.f, +10.f) * OrthoProj; + VERIFY_EXPR(c0 == float3(-1, -1, 0) && c1 == float3(+1, +1, +1)); + } + + { + float4x4 OrthoProj = OrthoOffCenter(-2.f, 6.f, -4.f, +12.f, -6.f, 10.f, false); + auto c0 = float3(-2.f, -4.f, -6.f) * OrthoProj; + auto c1 = float3(+6.f, +12.f, +10.f) * OrthoProj; + VERIFY_EXPR(c0 == float3(-1, -1, -1) && c1 == float3(+1, +1, +1)); + } + } + SetStatus(TestResult::Succeeded); } }; -- cgit v1.2.3