1
A
回答
4
- 沒有它的不對。由於其提供的有限範圍,通常甚至不可能使用8位深度緩衝區。最小值通常是16位,24位(保存模板緩衝區的前8位32位)是最常見的。它也可以使用浮點深度緩衝區和32位整數緩衝區。
- 通過使用更大的深度。
- 在125.5這樣的值的情況下,它實際上會被舍入或截斷爲126或125.但是,通常通過OpenGL,您實際上會將1和-1之間的深度值(投影后和w分割)傳遞給OpenGL 。然後將該值發送到OpenGL運行時間,將其轉換爲實際的深度值。通過這種方式,您可以更改深度緩衝區的位深度,並且所有內容都可以繼續工作。
+0
一個小附錄:也可以在OpenGL 3.x卡上使用32位整數深度緩衝區。 –
+0
@Nicol Bolas:你說得很對。編輯。我傾向於忽略32位int緩衝區,因爲雖然FP緩衝區只有24位精度,但添加的動態範圍要比具有32位IMO的有用得多:) – Goz
0
想要顯示巨大景觀的遊戲通常使用天空盒/天空,即。一個平坦的形象,給人以偉大的印象。
我記得公會的主菜單。它看起來很大,但你仔細觀察,它確實是一個圓形的紋理。
深度緩衝區像素用於確保未繪製比現有對象渲染得更遠的對象。如果兩個物體具有相同的深度,他們可以選擇是否渲染它,無論哪種方式都很好,你不會尋找這麼高的精度。
相關問題
- 1. OpenGL比較射線距離與深度緩衝區
- 2. OpenGL ES深度緩衝區
- 3. OpenGL深度緩衝區
- 4. OpenGL深度緩衝區問題
- 5. OpenGL中的深度緩衝區
- 6. Android上的OpenGL深度緩衝區
- 7. 在OpenGL中查看深度緩衝區
- 8. 如何寫入OpenGL深度緩衝區
- 9. OpenGL顏色深度緩衝區
- 10. Opengl深度緩衝區和剔除
- 11. OpenGL:渲染緩衝區,深度緩衝區
- 12. 將OpenGL深度緩衝區轉換爲相機的世界空間z距離?
- 13. 將深度渲染緩衝區複製到深度緩衝區
- 14. opengl深度測試如何使用24位深度緩衝區?
- 15. OpenGL深度緩衝區紋理(針對各種圖像大小)
- 16. 對數深度緩衝區
- 17. 傳遞深度緩衝區
- 18. 如何快速讀取OpenGL顏色緩衝區和深度緩衝區?
- 19. Qt&OpenGL - QGLWidget&QPainter:深度緩衝
- 20. 當點有相同的深度時,opengl深度緩衝區變慢
- 21. 在OpenGL ES 2.0中寫入深度緩衝區/深度值的解決方法
- 22. OpenGL - 幀緩衝區深度紋理與顏色深度紋理有所不同
- 23. Powershell緩衝區和滾動距離
- 24. sendto的最大緩衝區長度?
- 25. OpenGL ES深度緩衝區android,無法開始工作
- 26. OpenGL ES 2.x:如何放棄深度緩衝區glDiscardFramebufferEXT?
- 27. OpenGL:讀取幀緩衝區的深度紋理
- 28. OpenGL-ES 1.1 iPhone - 深度緩衝區導致洋紅色屏幕
- 29. 在Matlab中使用OpenGL獲取深度緩衝區
- 30. Opengl沒有任何東西正在寫入深度緩衝區
爲了防止您對這個主題的閱讀僅涵蓋Z和W緩衝區,還有對數Z緩衝區,它具有更好的覆蓋範圍,儘管它不作爲固定功能支持(您必須在着色器中實現它)。 http://www.gamasutra.com/blogs/BranoKemen/20090812/2725/Logarithmic_Depth_Buffer.php – Robinson