这是交易,我想制作一个基于纹理的粒子系统,并且我有一个云纹理。我将纹理映射到 10 个不同的多边形,每个多边形具有相同的大小和纹理。当我将它们相互混合时,就会出现问题,并且说 5 个多边形中的像素变得太白了!我不想要这个。我想要的是累积缓冲区的效果。我想采取这样的效果:
当页面中只有 1 个多边形且像素在其中时,说 Rx、Bx、Gx 是每个像素的颜色。现在我们有 n 个多边形,每个多边形都具有相同的大小和纹理。
Rtotal = R1/n+R2/n+...+Rn/n Gtotal 和 Btotal 相同
我该怎么做才能从 alpha 混合中获得这样的结果。
顺便说一句,这里是初始化。
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glEnable(GL_DEPTH_TEST) ;
glDepthFunc(GL_ALWAYS);
glEnable(GL_NORMALIZE);
glColor4f(.5,.5, .5,.2);
glBlendFunc (GL_SRC_ALPHA, GL_DST_ALPHA);