我有一个火焰模拟,其中包含大量纹理化的
请看下面的图片。
如您所见,似乎有很多黑色的盒子挡住了粒子。我该如何避免这种情况?我使用的混合函数是
GL_POINTS
。每个粒子都有一个透明的背景,当从某些角度面对火焰时,混合正常工作。然而,从其他角度观察时,应该是透明的背景会遮挡在其后渲染的粒子。如下图所示。请看下面的图片。
如您所见,似乎有很多黑色的盒子挡住了粒子。我该如何避免这种情况?我使用的混合函数是
GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA
。将glBlendFunc
的第二个参数设置为GL_ONE
会得到非常相似的结果。