float4 shadeVideo(ShaderContext context) { float2 count = max(pixelCount, float2(1.0, 1.0)); float2 cell = floor(context.uv * count); float2 sampledUv = (cell + 0.5) / count; float4 color = sampleVideo(clamp(sampledUv, 0.0, 1.0)); float2 local = frac(context.uv * count); float gridLine = 1.0 - step(0.035, min(min(local.x, 1.0 - local.x), min(local.y, 1.0 - local.y))); color.rgb = lerp(color.rgb, gridColor.rgb, gridLine * saturate(gridAmount) * gridColor.a); return color; }