最初にテクスチャ A、次にテクスチャ B の 2 つのテクスチャを描画します。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);