summaryrefslogtreecommitdiffstats
path: root/Tests/TestApp/src
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2018-03-26 03:37:03 +0000
committerEgor Yusov <egor.yusov@gmail.com>2018-03-26 03:37:03 +0000
commit6019c9be9e028fc5948bfa87f2f4f0fe75e0ef88 (patch)
treeb7bcdb757f855c56b22672038765fd12e2c1b9a3 /Tests/TestApp/src
parentUpdated include test to reference all headers relative to the Engine root (diff)
downloadDiligentEngine-6019c9be9e028fc5948bfa87f2f4f0fe75e0ef88.tar.gz
DiligentEngine-6019c9be9e028fc5948bfa87f2f4f0fe75e0ef88.zip
Added ortho projection matrix test
Diffstat (limited to 'Tests/TestApp/src')
-rw-r--r--Tests/TestApp/src/MathLibTest.cpp32
1 files changed, 32 insertions, 0 deletions
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<float2x2>()(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);
}
};