Adding Mtx_Transpose() test case to the PC main.cpp file. (Not tested, due to setup configurations not adequate on my end.)
Code is mostly formatted from the 3DS equivalent, test/3ds/main.cpp.
This commit is contained in:
parent
183b80eb86
commit
69df64c9d7
@ -737,6 +737,31 @@ check_matrix(generator_t &gen, distribution_t &dist)
|
||||
|
||||
assert(Mtx_MultiplyFVecH(&m, FVec3_New(v.x, v.y, v.z)) == glm::mat4x3(g)*v);
|
||||
}
|
||||
|
||||
// check matrix transpose
|
||||
{
|
||||
C3D_Mtx m;
|
||||
glm::mat4 check;
|
||||
|
||||
randomMatrix(m, gen, dist);
|
||||
|
||||
//Reducing rounding errors, and copying the values over to the check matrix.
|
||||
for(size_t i = 0; i < 16; ++i)
|
||||
{
|
||||
m.m[i] = static_cast<int>(m.m[i]);
|
||||
}
|
||||
|
||||
check = loadMatrix(m);
|
||||
|
||||
Mtx_Transpose(&m);
|
||||
Mtx_Transpose(&m);
|
||||
assert(m == glm::transpose(glm::transpose(check)));
|
||||
|
||||
//Comparing inverse(transpose(m)) == transpose(inverse(m))
|
||||
Mtx_Transpose(&m);
|
||||
Mtx_Inverse(&m);
|
||||
assert(m == glm::transpose(glm::inverse(check)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user