2
我正在使用glm数学库来解决以下问题:将2D屏幕位置转换为3D世界空间。与GLM :: unProject在这种情况下,我希望worldPos为(0,0将2D屏幕位置放入3D世界空间
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);
现在:
在试图跟踪问题,我简单的代码如下1)。然而,它正在通过(127100.12,-95325.094,-95325.094)。
我误解了glm :: unProject应该做什么?我追踪了这个功能,它似乎工作正常。
具有完美的感觉。谢谢 – JimFing 2012-01-09 20:57:23