簡體   English   中英

GL_TRIANGLE_STRIP和透明度問題

[英]GL_TRIANGLE_STRIP and transparency problems

我想繪制透明多邊形(例如金字塔)。 有些面看起來不透明,而有些面則看起來不透明。

我使用GL_TRIANGLE_STRIP繪圖。

我啟用了混合模式,但是沒有運氣。

請看所附圖片,


在此處輸入圖片說明

這是由於三角形的繪制順序而發生的。 首先繪制一些三角形,這些三角形將其深度值寫入深度紋理,然后出現下一個三角形並檢查其前面是否有物體。 如果存在,則不會渲染。

如果首先渲染位於后面的三角形,那么沒問題,位於其前面的三角形查看深度紋理,看到其具有更大的z值,因此可以正確地渲染,這些是這些顏色所在的地方透明度較低。

當前面的三角形首先渲染時,就會出現問題。 它將深度值寫入深度緩沖區,然后后面的三角形出現,看到其前面已經有東西,因此不會被渲染。

您可以通過多種方法來解決此問題,可以禁用深度測試,對三角形進行排序以使它們按順序排列,或者使用諸如深度剝離的算法。 這些算法中的每一個都有副作用或非常復雜,這就是為什么您在游戲中看不到太多透明度的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM