我使用Vertex和Fragment着色器渲染粒子。
在我的顶点着色器中,我正在钳制输出片段颜色的alpha分量:
highp float alpha = clamp(rotatedTexture.a, 0.01, 0.05);
highp vec4 base = vec4(vShade.r, vShade.g, vShade.b, alpha);
fragmentColor = base;
从下面的PNG中读入了rotateTexture.a的值 - 我已经完全确定位图中没有边 - 不应该绘制任何类似于正方形的东西。
但是,你可以看到呈现的方块 - 即使效果很小 - 它们肯定存在。我突出显示了一个带有黑色边框的精灵(两个很好的例子是在右下角彼此重叠的大绿色和粉红色精灵)。
因为我将alpha夹紧到5%,因为我的纹理alpha显然没有硬边缘 - 它怎么可能是绘制硬边缘?请注意,我看到不同纹理的相同内容。