我正在尝试混合带有透明区域的纹理:
glEnable( GL_TEXTURE_2D );
glBindTexture( GL_TEXTURE_2D, ...);
glVertexPointer( 2, GL_FLOAT, 0, ... );
glEnable (GL_BLEND);
glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 );
除非我添加glDisable(GL_DEPTH_TEST),否则顶部纹理的透明部分将覆盖它们下面的所有内容(而不是混合)。有没有不禁用深度的方法来解决这个问题?我已经尝试了各种混合函数,但没有一个能够解决问题。