去除重叠区域的金属

时间:2019-03-04 07:57:40

标签: ios metal metalkit

enter image description here

我正在创建绘图应用程序。在这里,触摸点从0、1、2、3、4开始依次排列。我在点[0,1,2],[0,2,3] [0,3,4]之间绘制了三角形。

此处在[0,3,4]之间绘制三角形时,存在重叠区域。我需要避免重叠区域。如果存在重叠,则需要使用“片段着色器”(Color Shader)将其着色为其他颜色。

当前,我在屏幕外纹理中渲染此点。然后将纹理传递给片段着色器,以检查当前片段是否已经有颜色。如果找到“颜色”,我将在“片段着色器”中返回不同的颜色。但这不起作用。

任何解决方案..解决....

fragment float4 fillBrushFragment(VertexOutFillBrush params[[stage_in]],
                                    texture2d<float , access::sample>texture [[texture(0)]])
{

    constexpr sampler defaultSampler;
    float4 color = float4(texture.sample(defaultSampler, float2(params.currentTextureCoordinates))) ;
    if(color.w > 0.02){
        return float4(0.0,0.0,0.0,0.0);
    }
    return float4(1.0,1.0,0.0,0.5);

}

0 个答案:

没有答案