ext_matrix_transform.cpp 940 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include <glm/ext/matrix_relational.hpp>
  2. #include <glm/ext/matrix_transform.hpp>
  3. #include <glm/ext/matrix_float4x4.hpp>
  4. #include <glm/ext/vector_relational.hpp>
  5. #include <glm/ext/vector_float4.hpp>
  6. #include <glm/ext/vector_float3.hpp>
  7. static int test_translate()
  8. {
  9. int Error = 0;
  10. glm::mat4 const M(1.0f);
  11. glm::vec3 const V(1.0f);
  12. glm::mat4 const T = glm::translate(M, V);
  13. Error += glm::all(glm::equal(T[3], glm::vec4(1.0f), glm::epsilon<float>())) ? 0 : 1;
  14. return Error;
  15. }
  16. static int test_scale()
  17. {
  18. int Error = 0;
  19. glm::mat4 const M(1.0f);
  20. glm::vec3 const V(2.0f);
  21. glm::mat4 const S = glm::scale(M, V);
  22. glm::mat4 const R = glm::mat4(
  23. glm::vec4(2, 0, 0, 0),
  24. glm::vec4(0, 2, 0, 0),
  25. glm::vec4(0, 0, 2, 0),
  26. glm::vec4(0, 0, 0, 1));
  27. Error += glm::all(glm::equal(S, R, glm::epsilon<float>())) ? 0 : 1;
  28. return Error;
  29. }
  30. int main()
  31. {
  32. int Error = 0;
  33. Error += test_translate();
  34. Error += test_scale();
  35. return Error;
  36. }