我使用 cocos2d 创建一个简单的绘图应用程序,我在代码中创建了一个 32 位纹理,形状为我需要的画笔(圆形),具有简单的硬度梯度(中间的 alpha = 1,靠近边缘的 alpha = 0)纹理显然是方形的,所以 alpha 在圆外是 0。用户触摸屏幕进行绘制,并根据分离常数重复纹理。
我尝试在不启用 alpha 混合的情况下得到可怕的结果。
使用 (ccblendfunc){GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA} 我得到纹理的每个实例之间出现的边界。如果我通过点击而不是拖动手动创建每个点,则不会发生这种效果。
并且使用 (ccblendfunc){GL_SRC_ALPHA,GL_ONE} 我得到了很好的结果,但在边缘颜色被加在一起,蓝色和绿色 = 青色,红色和绿色 = 黄色和红色和蓝色 = 紫色
我怎样才能简单地创建一个像 Photoshop 标准一样工作的混合模式????