2013-11-27 33 views
0

我想渲染一個透明的對象在opengl中,但有時紋理是可見的,有時他們不是。據我所知,我必須從後面渲染它們到前端,並且手動執行時看起來很好,但只能從特定的角度進行。有什麼方法可以計算它們應該是rendererd的順序嗎?如何在opengl中回到前面?

+0

將您的對象放在列表/數組中,並按照相對於視點的距離對它們進行排序。 –

+0

我聽說我可以使用顯示列表來做到這一點... – Busti

+0

但是我如何訂購它們? – Busti

回答

0

如果你有透明的物體,那麼你需要使用Depth Peeling或其他Order-independent transparency方法,以便正確渲染它們,如果你不打算排序它們。

+0

是否有opengl方法來做到這一點? – Busti

+0

OpenGL將繪製幾何體,你需要用適當的深度緩衝區,片段着色器等來設置它。你將不得不努力做到這一點,它不會像設置一些標誌和渲染那麼簡單。 – user1118321