diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2019-08-30 12:52:57 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2019-09-08 09:42:00 +0200 |
commit | 1a5c6544c88d6092ca57e780e332a0f302041b06 (patch) | |
tree | 8149be4784e57fa1c352b614b4f65ace5824c705 /examples/quick/scenegraph/metaltextureimport/squircle.frag | |
parent | dd523fcb00921ba5b51c283db809fd6ff083821c (diff) |
Add metaltextureimport example
Change-Id: I499c21083faf6096a0dc3b8ee5682dd5cbcd3ce7
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'examples/quick/scenegraph/metaltextureimport/squircle.frag')
-rw-r--r-- | examples/quick/scenegraph/metaltextureimport/squircle.frag | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/quick/scenegraph/metaltextureimport/squircle.frag b/examples/quick/scenegraph/metaltextureimport/squircle.frag new file mode 100644 index 0000000000..15f34624fe --- /dev/null +++ b/examples/quick/scenegraph/metaltextureimport/squircle.frag @@ -0,0 +1,29 @@ +#include <metal_stdlib> +#include <simd/simd.h> + +using namespace metal; + +struct buf +{ + float t; +}; + +struct main0_out +{ + float4 fragColor [[color(0)]]; +}; + +struct main0_in +{ + float2 coords [[user(locn0)]]; +}; + +fragment main0_out main0(main0_in in [[stage_in]], constant buf& ubuf [[buffer(0)]]) +{ + main0_out out = {}; + float i = 1.0 - (pow(abs(in.coords.x), 4.0) + pow(abs(in.coords.y), 4.0)); + i = smoothstep(ubuf.t - 0.800000011920928955078125, ubuf.t + 0.800000011920928955078125, i); + i = floor(i * 20.0) / 20.0; + out.fragColor = float4((in.coords * 0.5) + float2(0.5), i, i); + return out; +} |