簡體   English   中英

Xamarin IOS Opentk - 具有透明紋理的 BlendFunc

[英]Xamarin IOS Opentk - BlendFunc with transparent textures

我正在嘗試使用 Xamarin 中的 OpenTK 渲染一些具有透明背景的 label 紋理。 起初標簽似乎正常顯示(見圖 1),但當視圖旋轉時,一些 label 背景不再透明(見圖 2)。

啟用的 BlendFunc 是 GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha)。

我的問題是,盡管標簽的位置如何,我怎么能始終保持標簽透明度? 順便說一句,相同的代碼和着色器可以在 Android 設備上正常運行。 標簽顯示正常

標簽相互覆蓋

啊,是的,古老的透明度問題。 不幸的是,這是圖形程序員必須自己解決的問題。

對於幾個標簽,最直接的解決方案可能是按 z 深度對標簽進行排序,然后從最遠到最近渲染它們。 您可能需要對 label position 進行一些矩陣數學運算以調整視口旋轉。

對於我正在開發的 3d 游戲,我選擇實施Morgan McGuire 稱為 WBOIT 的與訂單無關的透明度方法,該方法實施起來相當簡單,並且產生了相對較好的結果。

暫無
暫無

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

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