1#include <metal_stdlib> 2#include <simd/simd.h> 3using namespace metal; 4struct Uniforms { 5 half4 colorWhite; 6}; 7struct Inputs { 8}; 9struct Outputs { 10 half4 sk_FragColor [[color(0)]]; 11}; 12fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) { 13 Outputs _out; 14 (void)_out; 15 half4 x = _uniforms.colorWhite; 16 for (half r = -5.0h;r < 5.0h; r += 1.0h) { 17 x.x = saturate(r); 18 if (x.x == 0.0h) break; 19 } 20 for (half b = 5.0h;b >= 0.0h; b -= 1.0h) { 21 x.z = b; 22 if (x.w == 1.0h) continue; 23 x.y = 0.0h; 24 } 25 _out.sk_FragColor = x; 26 return _out; 27} 28