• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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