2016-09-14 64 views
0

我一直在使用gluPerspective,有點有它在做什麼以及它是如何工作的把握。但是我還是不太明白如何使用它,除了啓動和停止的地方以外,還有其他任何影響。改變zfarznear似乎從不影響任何東西。我錯過了一個很酷的效果?什麼是一些價值範圍,你可以做什麼視覺扭曲?正確的價值觀

回答

2

你不會錯過任何很酷的效果。 zNearzFar(或nearValfarVal)是到近和遠剪切平面的距離。它們定義了攝像機空間z座標映射到投影空間深度值的方式。 z緩衝區可以存儲介於-1和+1之間的值。遠離相機的點zNear將映射到-1,並且來自相機的點zFar將映射到+1。超出此範圍的任何內容都將被剪輯。

注意,這兩種功能以及一切我說的是舊的。你最好學習使用OpenGL 4+的現代OpenGL流水線。在那裏你有責任明確地進行確切的數學計算,我認爲這會提高你對這種工作原理的理解程度。另外今天你實際上可以使用帶有禁用深度限制的浮點Z緩衝區,使所有近/遠剪切平面過時。