잘못된 값으로 행렬을 출력 :: 기능을 번역 : 대신"GLM : 번역은"나는 GLM 테스트를 위해 샘플 코드를했다
-4.29497e+08, -4.29497e+08, -4.29497e+08
:
glm::vec4 vec(1.0f, 0.0f, 0.0f, 1.0f);
glm::mat4 trans;
trans = glm::translate(trans, glm::vec3(1.0f, 1.0f, 0.0f));
vec = trans * vec;
std::cout << vec.x << ", " << vec.y << ", " << vec.z << std::endl;
그것은 다음과 같은 출력 예상 됨 2, 1, 0
가능한 원인은 무엇이며 어떻게해야합니까?
는 (나는 외부 결함이 코드 조각을 검색해야합니까?)
당신이 정답은 '2, 1, 0'무엇이라고 생각하게 번역 매트릭스 초기화? 디버거로 코드를 밟았습니까? MS VS 2017에는 멋진 그래픽 디버거가 내장되어 있습니다. – iksemyonov
문제점을 재현 할 수 없습니다. 위의 코드에서 출력은'2, 1, 0'이됩니다. – BDL
재생할 수 없습니다. 건설 직후에'트랜스'의 구성 요소는 무엇입니까? 필자는'glm'의 이전 버전을 생각해 봅니다.'mat4' 기본 생성자가 구성 요소를 단위 행렬이 아닌 초기화되지 않은 채로 남겨 두었습니다. –