2011-06-04 83 views
1

當我渲染WebGL的對應一個汽車模型(日產GTX)car複雜的場景(180項目)缺少三角形。然而,當我四處移動相機,它好像三角形人失蹤far的WebGL:移動相機

這些「失蹤三角」似乎在表面上隨機跳。這可能是深度緩衝區問題還是正常計算問題?我不知道。

不過,如果我放大模型的表面附近,所有的三角形在那裏zoom

有沒有人有這個問題?有小費嗎?!

回答

4

我猜,你直接對的(或非常接近)實體網格之上的線框網格,這僅僅是一個深度緩衝問題。它在放大時起作用,因爲深度緩衝區的精確度在觀看平截頭體的近區域更高。

嘗試在直接在實體網格頂部上渲染線框疊加時,通過使用多邊形偏移量(或類似的片段着色器修改gl_FragDepth)來調整屏幕空間深度。或者只是將它們在物體空間中移動得更遠。即到相機的距離影響的事情表明,它可能是一個緩衝精度問題的事實 -

+1

謝謝你,我改變了zNear參數的投影矩陣,從0.1到10,問題就消失了! – Diego 2011-06-06 01:07:51

1

當你懷疑一個深度緩衝的問題你可能是正確的。查看this question的答案以獲得可能的解決方案。