TL;DR
glm의 계산 결과를 확인하기 위해서 출력해야하는 경우가 있다. 이럴 때는 glm/gtx/string_cast.hpp
을 인클루드 하고 glm::to_string
함수를 호출하면 된다.
Code
1 2 3 4
| #include <glm/gtx/string_cast.hpp>
glm::mat4 mat; std::cout << glm::to_string(mat) << std::endl;
|
Example
벡터 출력
1 2 3 4 5 6
| glm::vec3 vector1(1.0f, 2.0f, 3.0f); glm::vec3 vector2(4.0f, 5.0f, 6.0f); glm::vec3 result_vec = vector1 + vector2; std::cout << glm::to_string(result_vec) << std::endl;
|
결과
1
| vec3(5.000000, 7.000000, 9.000000)
|
행렬 출력
1 2
| glm::mat4 result_mat = glm::translate(glm::mat4(1.0f), glm::vec3(1.0f, 2.0f, 3.0f)); std::cout << glm::to_string(result_mat) << std::endl;
|
결과
1
| mat4x4((1.000000, 0.000000, 0.000000, 0.000000), (0.000000, 1.000000, 0.000000, 0.000000), (0.000000, 0.000000, 1.000000, 0.000000), (1.000000, 2.000000, 3.000000, 1.000000))
|
정리하면 다음과 같다.
1 2 3 4
| (1.000000, 0.000000, 0.000000, 0.000000) (0.000000, 1.000000, 0.000000, 0.000000) (0.000000, 0.000000, 1.000000, 0.000000) (1.000000, 2.000000, 3.000000, 1.000000)
|
glm
은 열중심으로 출력되어 있는 것을 확인할 수 있다.
여담