我是新手opengl es并试图找出如何将x,y屏幕坐标转换为其各自的opengl世界坐标。到目前为止,我发现的所有示例都使用GLU.gluUnProject()在两个坐标系之间进行转换,但我不确定此方法在opengl es 2.0中是否可用,如果是这样,我不确定如何检索投影和模型视图矩阵。其他使用gluUnProject的示例通过使用MatrixGrabber类来访问矩阵,该类是具有1.X特性的opengl。我也发现了iphone的例子,使用顶点着色器在坐标系之间进行转换,但是我还没有能够使这种技术工作。看起来会有一种将2D屏幕坐标转换为2D世界坐标的简单方法。任何帮助将非常感激。谢谢。android opengl es 2.0将屏幕坐标转换为世界坐标
2
A
回答
0
你的假设是不正确的,没有简单的方法将屏幕坐标转换为世界坐标。
给定2D屏幕坐标和现有的视图和投影矩阵,除了对深度缓冲区进行采样(假设您有深度缓冲区),没有办法确定正确的z坐标。
将2d点投影到视锥体中只会为您提供射线(或从投影在近剪裁平面上的点到投影到远剪裁平面上的点的线段)。
以下可能是除了点,你正在使用Java,但我要提也无妨:如果你考虑用C++我建议你签出GLM库:http://glm.g-truc.net/
它提供替代过时glu函数,如glm :: project和glm :: unproject。 它是opengl矩阵堆栈和glu函数的优秀替代品。
我希望这有助于回答你的问题。祝你好运。
相关问题
- 1. Android OpenGL ES 2.0屏幕坐标到世界坐标
- 2. 如何将世界坐标转换为OpenGL ES 2.0中的屏幕坐标
- 3. C++/OpenGL将世界坐标转换为屏幕(2D)坐标
- 4. OpenGL:如何将世界坐标转换为屏幕坐标?
- 5. 在OpenGL ES中,如何将屏幕坐标转换为世界坐标?
- 6. 将对象坐标转换为屏幕坐标Android OpenGL ES
- 7. Unprojecting屏幕坐标在OpenGL ES 2.0中的世界
- 8. 将屏幕坐标转换为世界坐标
- 9. 转换屏幕坐标为世界坐标
- 10. 如何将OpenGL ES中的“世界坐标转换为对象坐标”for android?
- 11. 将屏幕坐标转换为对象坐标在Ipad上的OpenGL ES 2.0
- 12. 转换水深现实世界的坐标归一化坐标在OpenGL ES 2.0
- 13. Opengl将相对身体坐标转换为世界坐标
- 14. 将屏幕坐标转换为OpenGL坐标
- 15. 如何从opengl es2.0的屏幕坐标获取世界坐标?
- 16. OPEN GL ES 1.0。世界坐标到屏幕坐标
- 17. 将触摸屏坐标转换为iPhone上的Opengl世界坐标
- 18. 屏幕坐标到现实世界坐标在opengl
- 19. OpenGL 2.0 ES坐标
- 20. 使用投影在Three.js中将世界坐标转换为屏幕坐标
- 21. 如何将屏幕坐标转换为简单2D游戏的世界坐标?
- 22. 标准化OpenGL ES 2.0中的真实世界GPS坐标
- 23. 如何将转换后的坐标转换为OpenGL中的世界坐标?
- 24. Java Slick2d - 如何将鼠标坐标转换为世界坐标
- 25. 将光世界空间坐标转换为眼图坐标
- 26. OpenGL坐标匹配屏幕坐标?
- 27. 如何从OpenGL中的世界坐标获取屏幕坐标android
- 28. opengl es 2.0纹理坐标
- 29. 如何将窗口坐标转换为2D OpenGL ES坐标?
- 30. iOS将TouchBegan坐标转换为OpenGL ES坐标