1
我繪製了兩個紋理,先是紋理A然後是紋理B.我總是出現A始終高於b,即使紋理A的某些部分是完全透明的,它只顯示背景顏色屏幕。這裏的背景顏色意味着我用glClearColor
設置的顏色。然而,我改變了我的代碼和圖片,紋理的透明部分總是具有相同的背景顏色。無法使紋理透明
這是我的着色語言源代碼。
precision mediump float;
uniform sampler2D u_sampler;
varying vec2 v_TexCoord;
void main() {
gl_FragColor = texture2D(u_sampler, v_TexCoord);
}
而且我已經啓用了混合功能。
glEnable(GL_DEPTH_TEST);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
您也可以將深度func從GL_LESS切換到GL_LEQUAL。然而,切換到多紋理看起來像比這更好的解決方案。 – Kos
爲什麼我不能投兩次票。這是答案。我已經考慮了兩天,並且非常沮喪。你能給我一些建議,以防止再次發生這種情況。 (我已經閱讀了相當多的日誌文件)。 –
科斯的想法是一個,但是你必須使用兩個繪製調用的完全相同的頂點,否則浮點舍入錯誤會傷害你。通常使用多紋理是最好的計劃。看到這裏的教程:http://nehe.gamedev.net/tutorial/bump-mapping,_multi-texturing_&_extensions/16009/ – Goz