如何优化我的着色器加粗指定的颜色?

问题描述

我正在尝试加粗纹理的黑线。这是着色器的一部分

fixed4 frag_bold_color(sampler2D mainTex,float2 uv,float filteramount,fixed4 color){
    
    int colorCount = 0;
    for(int loopCount = -5; loopCount < 6; loopCount++)
    {
        fixed4 delta = tex2D(mainTex,fixed2(uv.x - loopCount * 0.0002,uv.y)) - color;
        if(length(delta) < (filteramount / abs(loopCount)))
        {
            colorCount++;
        }
    }
    for(int loopCount = -5; loopCount < 6; loopCount++)
    {
        fixed4 delta = tex2D(mainTex,fixed2(uv.x,uv.y - loopCount * 0.0002)) - color;
        if(length(delta) < (filteramount / abs(loopCount)))
        {
            colorCount++;
        }
    }
    if(colorCount > 10)
        return color;
    if(colorCount > 6)
    {
        color.rgb = ((10 - colorCount) * 0.05);
        return color;
    }
    color.a = 0;
    return color;
}

但是它解决了我的问题,但是这些for循环导致帧丢失,我无法解决它:(

感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)