【发布时间】:2017-02-07 01:08:48
【问题描述】:
我正在使用顶点和片段着色器渲染粒子。
在我的顶点着色器中,我正在钳制输出片段颜色的 alpha 分量:
highp float alpha = clamp(rotatedTexture.a, 0.01, 0.05);
highp vec4 base = vec4(vShade.r, vShade.g, vShade.b, alpha);
fragmentColor = base;
rotatedTexture.a 的值是从以下 PNG 中读取的 - 我已经确定位图中没有边缘 - 不应绘制任何类似于正方形的东西。
但是,您可以看到渲染的正方形 - 即使效果很轻微 - 它们肯定存在。我突出显示了一个带有黑色边框的精灵(两个很好的例子是右下角相互重叠的大绿色和粉红色精灵)。
由于我将 alpha 限制为 5%,并且我的纹理的 alpha 显然没有硬边 - 它怎么可能绘制硬边?请注意,我看到的是具有不同纹理的相同事物。
【问题讨论】:
-
几何本身有硬边。如果您没有实际上为零的 alpha(因为夹子上的最小值 > 0.0),那么您将获得一定数量的四边形可见。为什么你的钳位最小值高于零?
标签: ios opengl-es fragment-shader vertex-shader