【发布时间】:2022-01-27 12:23:51
【问题描述】:
我正在使用在纹理上交换颜色/调色板的着色器。着色器检查像素的透明度,如果不透明则设置像素。除了潜在分支之外,是否有一种有效的方法来忽略 0 alpha 像素?在这种情况下,我设置pixel = newPixel:
uniform bool alternate;
uniform sampler2D texture;
void main()
{
vec4 pixel = texture2D(bitmap, openfl_TextureCoordv);
if(alternate)
{
vec4 newPixel = texture2D(texture, vec2(pixel.r, pixel.b));
if(newPixel.a != 0.0)
pixel = newPixel;
}
gl_FragColor = pixel;
}
【问题讨论】:
标签: opengl glsl fragment-shader