我是新手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座標