Add simdMat4 static constants
- Tests, too
This commit is contained in:
parent
ef320a2a2f
commit
57e6ea071d
@ -83,6 +83,11 @@ namespace detail
|
|||||||
static GLM_RELAXED_CONSTEXPR precision prec = defaultp;
|
static GLM_RELAXED_CONSTEXPR precision prec = defaultp;
|
||||||
# endif//GLM_META_PROG_HELPERS
|
# endif//GLM_META_PROG_HELPERS
|
||||||
|
|
||||||
|
# ifdef GLM_STATIC_CONST_MEMBERS
|
||||||
|
static const type ZERO;
|
||||||
|
static const type IDENTITY;
|
||||||
|
# endif
|
||||||
|
|
||||||
GLM_FUNC_DECL length_t length() const;
|
GLM_FUNC_DECL length_t length() const;
|
||||||
|
|
||||||
fvec4SIMD Data[4];
|
fvec4SIMD Data[4];
|
||||||
|
@ -61,6 +61,11 @@ GLM_FUNC_QUALIFIER fvec4SIMD const & fmat4x4SIMD::operator[]
|
|||||||
return this->Data[i];
|
return this->Data[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef GLM_STATIC_CONST_MEMBERS
|
||||||
|
const fmat4x4SIMD fmat4x4SIMD::ZERO(0);
|
||||||
|
const fmat4x4SIMD fmat4x4SIMD::IDENTITY(1);
|
||||||
|
#endif
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
/// @author Christophe Riccio
|
/// @author Christophe Riccio
|
||||||
///////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#define GLM_STATIC_CONST_MEMBERS
|
||||||
#include <glm/glm.hpp>
|
#include <glm/glm.hpp>
|
||||||
#include <glm/gtc/matrix_transform.hpp>
|
#include <glm/gtc/matrix_transform.hpp>
|
||||||
#include <glm/gtc/quaternion.hpp>
|
#include <glm/gtc/quaternion.hpp>
|
||||||
@ -252,6 +253,15 @@ int test_compute_gtx()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int test_static_const() {
|
||||||
|
int Error(0);
|
||||||
|
|
||||||
|
Error += glm::simdMat4(1) == glm::simdMat4::IDENTITY ? 0 : 1;
|
||||||
|
Error += glm::simdMat4(0) == glm::simdMat4::ZERO ? 0 : 1;
|
||||||
|
|
||||||
|
return Error;
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int Error = 0;
|
int Error = 0;
|
||||||
@ -313,7 +323,7 @@ int main()
|
|||||||
|
|
||||||
Error += test_compute_glm();
|
Error += test_compute_glm();
|
||||||
Error += test_compute_gtx();
|
Error += test_compute_gtx();
|
||||||
|
Error += test_static_const();
|
||||||
float Det = glm::determinant(glm::simdMat4(1.0));
|
float Det = glm::determinant(glm::simdMat4(1.0));
|
||||||
Error += Det == 1.0f ? 0 : 1;
|
Error += Det == 1.0f ? 0 : 1;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user