Исходный цвет оригинала шейдера

Я рисую квад и прикрепляю текстуру, и я рисую круг, используя функцию ядра.

kernel void compute(texture2d<float,access::write> output [[texture(0)]],
                     constant float2 &time [[buffer(0)]],
                    uint2 gid [[thread_position_in_grid]])
{
    int width = output.get_width();
    int height = output.get_height();  
    float2 iResolution = float2(width, height); 
    float2 x = time;
    float2 uv = float2(gid.x,height - gid.y) / iResolution;
    uv -= x;  // -0.5 <> 0.5
    float d = length(uv);
    float r = 0.09;
    float c = smoothstep(r, r-0.015, d);
    output.write(float4(float3(c), 1), gid);
}

здесь Эта функция возвращает белый цвет в круговой области и черный снаружи. Мне нужен внешний исходный цвет текстуры, потому что мне нужно прочитать переданную текстуру и вернуть цвет. Предложите способ сделать это

0
задан Ruban4Axis 13 August 2018 в 15:05
поделиться