fragment float4 circle_msaa_persample_fragment(TriangleOut in [[stage_in]],
constant ScreenUniforms &screen [[buffer(0)]],
uint sampleID [[sample_id]]) {
const float2 sampleOffsets[4] = {
float2(-0.125, -0.375),
float2(0.375, -0.125),
float2(-0.375, 0.125),
float2(0.125, 0.375)
};
float2 pixel = in.position.xy + sampleOffsets[sampleID & 3u];
float2 ndc = demoPixelToNdc(pixel, screen.resolution);
float3 color = demoTriangleCircleColor(ndc, 1.0);
return float4(color, 1.0);
}
Проект я потом отдельно прикреплю.