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