2 차원 화면 위치를 3 차원 월드 공간으로 변환하는 다음 문제에 대해 glm maths 라이브러리를 사용하고 있습니다. 문제를 추적하기위한 시도에서2 차원 화면 위치를 3 차원 월드 공간에 투영하지 마십시오.
, 나는 다음에 코드를 단순화 :
float screenW = 800.0f;
float screenH = 600.0f;
glm::vec4 viewport = glm::vec4(0.0f, 0.0f, screenW, screenH);
glm::mat4 tmpView(1.0f);
glm::mat4 tmpProj = glm::perspective(90.0f, screenW/screenH, 0.1f, 100000.0f);
glm::vec3 screenPos = glm::vec3(0.0f, 0.0f, 1.0f);
glm::vec3 worldPos = glm::unProject(screenPos, tmpView, tmpProj, viewport);
을 이제 GLM :: unProject이 경우 내가 worldPos가 될 것으로 기대 것 (0, 0, 1). 그러나 그것은 (127100.12, -95325.094, -95325.094)로 전달됩니다.
glm :: unProject가해야 할 일을 오해하고 있습니까? 나는이 함수를 추적 해 보았고, 잘 작동하는 것으로 보인다.
의미가 있습니다. 감사 – JimFing