環境:WebGL,Chrome。使用透明png作爲模型紋理時,我有以下行爲:WebGL中的透明紋理行爲
- 圖片A - 樹隱藏它後面的建築,我看到世界箱體紋理。它還隱藏自身(回分支是不可見的)
- 與此同時 - 圖B - 工作正常,窗口是透明的,我看看有什麼背後
這兩個截圖都是在同一時間從不同的攝像頭位置拍攝的。紋理由相同的算法生成。
我不明白窗口和分支透明度有什麼區別。我的主要問題是 - 如何修復分支以免隱藏背後的物體?着色器的代碼是:
gl_FragColor = vec4(textureColor.rgb * vLightWeighting, textureColor.a);
我打了啓用/禁用混合和depth_test,有時會得到想要的結果,但不知道這是否是做事的正確方法。
謝謝你的明確答案。我可以按要求的順序進行渲染。只剩下問題 - 自我重疊。例子中的樹會通過前面「隱藏」後面的分支。假設通過常規方法無法解決。現在至少有90%的問題可以通過按照正確的順序進行解決。 – Vecnas 2012-01-09 18:45:36
@Toji有沒有一種很好的方法來按深度對對象進行排序? Greeings – schlenger 2014-08-29 21:22:33