2014-11-15 185 views
1

我正在進行alpha混合測試,我不明白。Alpha混合,透明度和z順序

在我的測試我做過類似的東西,一切都看起來很好

  • 繪製藍色框第一(深度測試:真正的,混合阿爾法:無,顏色: 1,1,1,1)
  • 畫左馬里奧(深度測試:假,混合阿爾法:真,顏色:1,1,1,0.8)
  • 畫出紅框(深度測試:真,共混阿爾法:無,顏色:1,1,1,1)
  • 畫出權利馬里奧( 深度測試:假,共混阿爾法:真,顏色:1,1,1,0.8)

enter image description here

每個教程說,我們應該:

  • 抽獎不透明物體第一
  • 訂單透明物體後到前,然後繪製它們。

下面是結果:

enter image description here

所以,我不知道去了解它是如何工作的/什麼是錯的(I've read this document)。

謝謝!

+2

是否存在禁用透明對象深度測試的特定原因? –

+0

關於該主題的一些額外考慮:https://www.khronos.org/opengl/wiki/Transparency_Sorting – Flint

回答

1

您通常會禁用深度寫道:例如glDepthMask (GL_FALSE))爲半透明物體,但深度測試本身是不是您將禁用。

您需要測試對抗這種情況的不透明物體產生的正常工作的深度值,否則你必須您的不透明和半透明對象進行排序(這是你做了什麼原本)。