Удаление металла перекрывающейся области - PullRequest
0 голосов
/ 04 марта 2019

enter image description here

Я создаю приложение для рисования.Здесь точки соприкосновения имеют порядок от 0,1,2,3,4.Я рисую треугольники между точками [0,1,2], [0,2,3] [0,3,4].

Здесь при рисовании треугольников между [0,3,4] происходит перекрытиеплощадь.Мне нужно избегать области перекрытия.Если есть перекрытие, мне нужно покрасить в другой цвет, используя Fragment Shader.

В настоящее время я отрисовываю эти точки в текстуре вне экрана.и передача текстуры в шейдер Fragment, чтобы проверить, есть ли уже цвет для текущего фрагмента.Если цвет найден, я возвращаю другой цвет в Fragment 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);

}
...