簡體   English   中英

透明紋理與OpenGL-ES 2.0

[英]Transparent Texture With OpenGL-ES 2.0

我試圖在立方體頂部添加透明紋理。 只有正面不透明。 其他方面都是透明的。 可能是什么問題呢?。 任何幫助表示贊賞。

編輯:我發現首先繪制的面是不透明的。

繪制了立方體的3個面。

不透明的臉。((這個面部的索引在GLdrawElements中首先給出)) 不透明

透明的臉。 tranparent

你很可能遇到了排序問題。 要正確顯示透明幾何圖形,必須從后向前對對象的面進行排序。

不幸的是,在opengl-es(或存在的任何gfx庫)中沒有內置支持。 唯一的可能性是對多邊形進行排序,每幀重新創建對象並使用正確排序的面繪制它。

解決方法是使用加性透明度而不是普通透明度。 附加透明度是與訂單無關的計算。 您必須記住在繪制時關閉z緩沖區寫入,否則某些幾何體可能會被遮擋。

通過將blendfunc值設置為GL_ONE來實現添加劑透明度。

暫無
暫無

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

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