我想讓我們的太陽系的C++ OpenGL表現力作爲教自己OpenGL的一種方式,所以請保持簡單的答案。 我遇到的問題是行星距離很遠,所以當從任何給定的行星觀看時,其他所有事物都超出剪輯平面。 如何將C++ OpenGL 3.1平面的裁剪移動到2000000000
?如果可以的話,我更喜歡一個簡單的代碼片段。 我已經查閱過SO和論壇上的帖子,但是它們要麼太老了,以至於什麼都不適用(使用傳統API或者只是死鏈接),或者如此複雜以至於我無法弄清楚他們在說什麼。提高OpenGL的遠距離剪貼畫距離
4
A
回答
2
剪切平面由透視投影矩陣定義。
如果使用glFrustum
,則將傳遞給它的最後一個參數更改爲2000000000.0。
如果您使用的矩陣排列自己的矩陣,設置10元素:
(2000000000.0+nearClippingPlane)/(nearClippingPlane-2000000000.0)
(公式爲(far+near)/(near-far)
)
和14日:
(-4000000000.0*nearClippingPlane)/(2000000000.0-nearClippingPlane)
(公式爲(-2.0*near*far)/(far-near)
)
2000000000是非常大的價值,但是,如果你添加諸如山脈之類的細節,Z-fighting可能會發生。
相關問題
- 1. OpenGL啓用剪輯距離
- 2. Android模擬器OpenGL遠飛機距離
- 3. 提取距離
- 4. 距離Cell塔的距離
- 5. animate.css動畫距離
- 6. 距離畫在畫布上
- 7. 提高GPS測量距離的精度
- 8. 遠距離RFiD閱讀
- 9. 我距離MVC有多遠
- 10. 計算距離位置的距離 - iPhone
- 11. 如何計算距離cellID的距離?
- 12. 獲取距離邊緣的距離3
- 13. 動畫到離div一定距離
- 14. 距離
- 15. 在jQuery中爲長距離短距離設置動畫位置
- 16. System.Data.Entity.Spatial.DbGeography與高程距離
- 17. 高效計算距離圖
- 18. FetchXML - GeoCode距離按距離搜索
- 19. 爲什麼我的OpenGL場景在z距離處裁剪1?
- 20. OpenGL找到一個點的距離
- 21. 在Opengl中增加攝像機的遠距離
- 22. 減少距離
- 23. 測量距離
- 24. 計算距離
- 25. 包距離
- 26. 反轉距離
- 27. 調整距離
- 28. 計算距離
- 29. 表面距離
- 30. 歐氏距離
可能有用的Gamedev討論。最近看過同樣的問題,但還沒有時間研究它。 http://www.gamedev.net/topic/557264-confused-very-large-environments/ – Grimmy
實時程序性宇宙:http://www.floatingorigin.com/mirror/oneil_01.htm – Grimmy