gl-transitions 1.74.0 → 1.76.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -0
- package/compatibility.json +2070 -0
- package/glsl3/AdvancedMosaic.glsl +21 -0
- package/glsl3/BlockDissolve.glsl +16 -0
- package/glsl3/BookFlip.glsl +37 -0
- package/glsl3/Bounce.glsl +35 -0
- package/glsl3/BowTieHorizontal.glsl +123 -0
- package/glsl3/BowTieVertical.glsl +117 -0
- package/glsl3/BowTieWithParameter.glsl +74 -0
- package/glsl3/Box.glsl +33 -0
- package/glsl3/ButterflyWaveScrawler.glsl +33 -0
- package/glsl3/CircleCrop.glsl +20 -0
- package/glsl3/ColourDistance.glsl +19 -0
- package/glsl3/CrazyParametricFun.glsl +20 -0
- package/glsl3/CrossZoom.glsl +68 -0
- package/glsl3/DefocusBlur.glsl +47 -0
- package/glsl3/Directional.glsl +18 -0
- package/glsl3/DirectionalScaled.glsl +35 -0
- package/glsl3/DoomScreenTransition.glsl +62 -0
- package/glsl3/Dreamy.glsl +14 -0
- package/glsl3/DreamyZoom.glsl +43 -0
- package/glsl3/Drop_Zone_Flicker.glsl +159 -0
- package/glsl3/EdgeTransition.glsl +50 -0
- package/glsl3/FilmBurn.glsl +63 -0
- package/glsl3/Fold.glsl +12 -0
- package/glsl3/GlitchDisplace.glsl +78 -0
- package/glsl3/GlitchMemories.glsl +17 -0
- package/glsl3/GridFlip.glsl +77 -0
- package/glsl3/HSVfade.glsl +29 -0
- package/glsl3/HorizontalClose.glsl +16 -0
- package/glsl3/HorizontalOpen.glsl +18 -0
- package/glsl3/InvertedPageCurl.glsl +228 -0
- package/glsl3/LeftRight.glsl +28 -0
- package/glsl3/LinearBlur.glsl +30 -0
- package/glsl3/Mosaic.glsl +45 -0
- package/glsl3/Overexposure.glsl +25 -0
- package/glsl3/PolkaDotsCurtain.glsl +14 -0
- package/glsl3/PuzzleRight.glsl +57 -0
- package/glsl3/Radial.glsl +19 -0
- package/glsl3/Rectangle.glsl +29 -0
- package/glsl3/RectangleCrop.glsl +30 -0
- package/glsl3/Revolve_Left.glsl +98 -0
- package/glsl3/Rolls.glsl +42 -0
- package/glsl3/RotateScaleVanish.glsl +42 -0
- package/glsl3/SimpleFlip.glsl +14 -0
- package/glsl3/SimpleZoom.glsl +20 -0
- package/glsl3/SimpleZoomOut.glsl +23 -0
- package/glsl3/Slides.glsl +41 -0
- package/glsl3/StarWipe.glsl +51 -0
- package/glsl3/StaticFade.glsl +47 -0
- package/glsl3/StereoViewer.glsl +214 -0
- package/glsl3/StripDatamoshGlitch.glsl +187 -0
- package/glsl3/Swirl.glsl +34 -0
- package/glsl3/TVStatic.glsl +29 -0
- package/glsl3/TilesWave.glsl +63 -0
- package/glsl3/TopBottom.glsl +27 -0
- package/glsl3/VerticalClose.glsl +16 -0
- package/glsl3/VerticalOpen.glsl +17 -0
- package/glsl3/WaterDrop.glsl +21 -0
- package/glsl3/ZoomInCircles.glsl +40 -0
- package/glsl3/ZoomLeftWipe.glsl +36 -0
- package/glsl3/ZoomRigthWipe.glsl +36 -0
- package/glsl3/angular.glsl +25 -0
- package/glsl3/burn.glsl +14 -0
- package/glsl3/burn0.glsl +55 -0
- package/glsl3/cannabisleaf.glsl +18 -0
- package/glsl3/chessboard.glsl +28 -0
- package/glsl3/circle.glsl +24 -0
- package/glsl3/circleopen.glsl +18 -0
- package/glsl3/colorphase.glsl +19 -0
- package/glsl3/coord-from-in.glsl +18 -0
- package/glsl3/crosshatch.glsl +20 -0
- package/glsl3/crosswarp.glsl +10 -0
- package/glsl3/cube.glsl +71 -0
- package/glsl3/directional-easing.glsl +19 -0
- package/glsl3/directionalwarp.glsl +20 -0
- package/glsl3/directionalwipe.glsl +22 -0
- package/glsl3/displacement.glsl +26 -0
- package/glsl3/dissolve.glsl +54 -0
- package/glsl3/doorway.glsl +55 -0
- package/glsl3/fade.glsl +13 -0
- package/glsl3/fadecolor.glsl +15 -0
- package/glsl3/fadegrayscale.glsl +21 -0
- package/glsl3/flyeye.glsl +20 -0
- package/glsl3/fragment.glsl +54 -0
- package/glsl3/heart.glsl +19 -0
- package/glsl3/hexagonalize.glsl +78 -0
- package/glsl3/kaleidoscope.glsl +25 -0
- package/glsl3/luma.glsl +15 -0
- package/glsl3/luminance_melt.glsl +131 -0
- package/glsl3/morph.glsl +20 -0
- package/glsl3/mosaic_transition.glsl +20 -0
- package/glsl3/multiply_blend.glsl +19 -0
- package/glsl3/old_tv_lost_signal.glsl +51 -0
- package/glsl3/parametric_glitch.glsl +29 -0
- package/glsl3/perlin.glsl +66 -0
- package/glsl3/pinwheel.glsl +20 -0
- package/glsl3/pixelize.glsl +21 -0
- package/glsl3/polar_function.glsl +24 -0
- package/glsl3/powerKaleido.glsl +57 -0
- package/glsl3/randomNoisex.glsl +15 -0
- package/glsl3/randomsquares.glsl +20 -0
- package/glsl3/ripple.glsl +20 -0
- package/glsl3/rotateTransition.glsl +22 -0
- package/glsl3/rotate_scale_fade.glsl +39 -0
- package/glsl3/scale-in.glsl +18 -0
- package/glsl3/splitSlideInHorizontal.glsl +26 -0
- package/glsl3/splitSlideInOutHorizontal.glsl +23 -0
- package/glsl3/splitSlideInOutVertical.glsl +23 -0
- package/glsl3/splitSlideInVertical.glsl +24 -0
- package/glsl3/splitSlideOutHorizontal.glsl +22 -0
- package/glsl3/splitSlideOutVertical.glsl +22 -0
- package/glsl3/squareswire.glsl +26 -0
- package/glsl3/squeeze.glsl +23 -0
- package/glsl3/static_wipe.glsl +39 -0
- package/glsl3/swap.glsl +64 -0
- package/glsl3/tangentMotionBlur.glsl +139 -0
- package/glsl3/undulatingBurnOut.glsl +56 -0
- package/glsl3/wind.glsl +25 -0
- package/glsl3/windowblinds.glsl +18 -0
- package/glsl3/windowslice.glsl +16 -0
- package/glsl3/wipeDown.glsl +12 -0
- package/glsl3/wipeLeft.glsl +12 -0
- package/glsl3/wipeRight.glsl +12 -0
- package/glsl3/wipeUp.glsl +12 -0
- package/glsl3/x_axis_translation.glsl +21 -0
- package/glsl3/zoomInOut.glsl +20 -0
- package/index.d.ts +61 -0
- package/layouts.json +2956 -0
- package/llms-full.txt +1707 -0
- package/llms.txt +153 -0
- package/msl/AdvancedMosaic.metal +136 -0
- package/msl/BlockDissolve.metal +108 -0
- package/msl/BookFlip.metal +191 -0
- package/msl/Bounce.metal +128 -0
- package/msl/BowTieHorizontal.metal +375 -0
- package/msl/BowTieVertical.metal +375 -0
- package/msl/BowTieWithParameter.metal +361 -0
- package/msl/Box.metal +204 -0
- package/msl/ButterflyWaveScrawler.metal +190 -0
- package/msl/CircleCrop.metal +117 -0
- package/msl/ColourDistance.metal +110 -0
- package/msl/CrazyParametricFun.metal +139 -0
- package/msl/CrossZoom.metal +274 -0
- package/msl/DefocusBlur.metal +297 -0
- package/msl/Directional.metal +107 -0
- package/msl/DirectionalScaled.metal +147 -0
- package/msl/DoomScreenTransition.metal +212 -0
- package/msl/Dreamy.metal +133 -0
- package/msl/DreamyZoom.metal +182 -0
- package/msl/Drop_Zone_Flicker.metal +561 -0
- package/msl/EdgeTransition.metal +277 -0
- package/msl/FilmBurn.metal +425 -0
- package/msl/Fold.metal +110 -0
- package/msl/GlitchDisplace.metal +374 -0
- package/msl/GlitchMemories.metal +146 -0
- package/msl/GridFlip.metal +285 -0
- package/msl/HSVfade.metal +161 -0
- package/msl/HorizontalClose.metal +100 -0
- package/msl/HorizontalOpen.metal +103 -0
- package/msl/InvertedPageCurl.metal +762 -0
- package/msl/LeftRight.metal +138 -0
- package/msl/LinearBlur.metal +169 -0
- package/msl/Mosaic.metal +212 -0
- package/msl/Overexposure.metal +130 -0
- package/msl/PolkaDotsCurtain.metal +112 -0
- package/msl/PuzzleRight.metal +262 -0
- package/msl/Radial.metal +102 -0
- package/msl/Rectangle.metal +129 -0
- package/msl/RectangleCrop.metal +127 -0
- package/msl/Revolve_Left.metal +363 -0
- package/msl/Rolls.metal +209 -0
- package/msl/RotateScaleVanish.metal +227 -0
- package/msl/SimpleFlip.metal +110 -0
- package/msl/SimpleZoom.metal +116 -0
- package/msl/SimpleZoomOut.metal +127 -0
- package/msl/Slides.metal +244 -0
- package/msl/StarWipe.metal +204 -0
- package/msl/StaticFade.metal +193 -0
- package/msl/StereoViewer.metal +707 -0
- package/msl/StripDatamoshGlitch.metal +828 -0
- package/msl/Swirl.metal +152 -0
- package/msl/TVStatic.metal +136 -0
- package/msl/TilesWave.metal +290 -0
- package/msl/TopBottom.metal +138 -0
- package/msl/VerticalClose.metal +100 -0
- package/msl/VerticalOpen.metal +103 -0
- package/msl/WaterDrop.metal +126 -0
- package/msl/ZoomInCircles.metal +169 -0
- package/msl/ZoomLeftWipe.metal +152 -0
- package/msl/ZoomRigthWipe.metal +152 -0
- package/msl/angular.metal +111 -0
- package/msl/burn.metal +103 -0
- package/msl/burn0.metal +236 -0
- package/msl/cannabisleaf.metal +120 -0
- package/msl/chessboard.metal +144 -0
- package/msl/circle.metal +115 -0
- package/msl/circleopen.metal +124 -0
- package/msl/colorphase.metal +106 -0
- package/msl/coord-from-in.metal +111 -0
- package/msl/crosshatch.metal +126 -0
- package/msl/crosswarp.metal +103 -0
- package/msl/cube.metal +259 -0
- package/msl/directional-easing.metal +111 -0
- package/msl/directionalwarp.metal +121 -0
- package/msl/directionalwipe.metal +120 -0
- package/msl/displacement.metal +129 -0
- package/msl/dissolve.metal +146 -0
- package/msl/doorway.metal +210 -0
- package/msl/fade.metal +95 -0
- package/msl/fadecolor.metal +104 -0
- package/msl/fadegrayscale.metal +123 -0
- package/msl/flyeye.metal +133 -0
- package/msl/fragment.metal +276 -0
- package/msl/heart.metal +134 -0
- package/msl/hexagonalize.metal +274 -0
- package/msl/kaleidoscope.metal +157 -0
- package/msl/luma.metal +113 -0
- package/msl/luminance_melt.metal +337 -0
- package/msl/morph.metal +131 -0
- package/msl/mosaic_transition.metal +137 -0
- package/msl/multiply_blend.metal +127 -0
- package/msl/old_tv_lost_signal.metal +172 -0
- package/msl/parametric_glitch.metal +152 -0
- package/msl/perlin.metal +206 -0
- package/msl/pinwheel.metal +112 -0
- package/msl/pixelize.metal +134 -0
- package/msl/polar_function.metal +116 -0
- package/msl/powerKaleido.metal +304 -0
- package/msl/randomNoisex.metal +115 -0
- package/msl/randomsquares.metal +118 -0
- package/msl/ripple.metal +113 -0
- package/msl/rotateTransition.metal +116 -0
- package/msl/rotate_scale_fade.metal +167 -0
- package/msl/scale-in.metal +111 -0
- package/msl/splitSlideInHorizontal.metal +147 -0
- package/msl/splitSlideInOutHorizontal.metal +138 -0
- package/msl/splitSlideInOutVertical.metal +138 -0
- package/msl/splitSlideInVertical.metal +144 -0
- package/msl/splitSlideOutHorizontal.metal +131 -0
- package/msl/splitSlideOutVertical.metal +131 -0
- package/msl/squareswire.metal +144 -0
- package/msl/squeeze.metal +133 -0
- package/msl/static_wipe.metal +147 -0
- package/msl/swap.metal +256 -0
- package/msl/tangentMotionBlur.metal +583 -0
- package/msl/undulatingBurnOut.metal +217 -0
- package/msl/wind.metal +131 -0
- package/msl/windowblinds.metal +107 -0
- package/msl/windowslice.metal +108 -0
- package/msl/wipeDown.metal +105 -0
- package/msl/wipeLeft.metal +105 -0
- package/msl/wipeRight.metal +105 -0
- package/msl/wipeUp.metal +105 -0
- package/msl/x_axis_translation.metal +110 -0
- package/msl/zoomInOut.metal +125 -0
- package/package.json +1 -1
- package/skills/gl-transitions/SKILL.md +46 -0
- package/skills/gl-transitions/references/catalog.md +224 -0
- package/skills/gl-transitions/references/skia.md +118 -0
- package/skills/gl-transitions/references/video.md +71 -0
- package/skills/gl-transitions/references/webgl.md +122 -0
- package/sksl/index.d.ts +4 -0
- package/sksl/index.js +1 -0
- package/wgsl/AdvancedMosaic.wgsl +108 -0
- package/wgsl/BlockDissolve.wgsl +78 -0
- package/wgsl/BookFlip.wgsl +157 -0
- package/wgsl/Bounce.wgsl +98 -0
- package/wgsl/BowTieHorizontal.wgsl +331 -0
- package/wgsl/BowTieVertical.wgsl +331 -0
- package/wgsl/BowTieWithParameter.wgsl +313 -0
- package/wgsl/Box.wgsl +176 -0
- package/wgsl/ButterflyWaveScrawler.wgsl +158 -0
- package/wgsl/CircleCrop.wgsl +88 -0
- package/wgsl/ColourDistance.wgsl +82 -0
- package/wgsl/CrazyParametricFun.wgsl +111 -0
- package/wgsl/CrossZoom.wgsl +219 -0
- package/wgsl/DefocusBlur.wgsl +269 -0
- package/wgsl/Directional.wgsl +79 -0
- package/wgsl/DirectionalScaled.wgsl +117 -0
- package/wgsl/DoomScreenTransition.wgsl +171 -0
- package/wgsl/Dreamy.wgsl +102 -0
- package/wgsl/DreamyZoom.wgsl +154 -0
- package/wgsl/Drop_Zone_Flicker.wgsl +513 -0
- package/wgsl/EdgeTransition.wgsl +216 -0
- package/wgsl/FilmBurn.wgsl +361 -0
- package/wgsl/Fold.wgsl +82 -0
- package/wgsl/GlitchDisplace.wgsl +327 -0
- package/wgsl/GlitchMemories.wgsl +118 -0
- package/wgsl/GridFlip.wgsl +250 -0
- package/wgsl/HSVfade.wgsl +131 -0
- package/wgsl/HorizontalClose.wgsl +72 -0
- package/wgsl/HorizontalOpen.wgsl +75 -0
- package/wgsl/InvertedPageCurl.wgsl +690 -0
- package/wgsl/LeftRight.wgsl +109 -0
- package/wgsl/LinearBlur.wgsl +131 -0
- package/wgsl/Mosaic.wgsl +174 -0
- package/wgsl/Overexposure.wgsl +102 -0
- package/wgsl/PolkaDotsCurtain.wgsl +83 -0
- package/wgsl/PuzzleRight.wgsl +230 -0
- package/wgsl/Radial.wgsl +74 -0
- package/wgsl/Rectangle.wgsl +100 -0
- package/wgsl/RectangleCrop.wgsl +98 -0
- package/wgsl/Revolve_Left.wgsl +314 -0
- package/wgsl/Rolls.wgsl +181 -0
- package/wgsl/RotateScaleVanish.wgsl +199 -0
- package/wgsl/SimpleFlip.wgsl +82 -0
- package/wgsl/SimpleZoom.wgsl +85 -0
- package/wgsl/SimpleZoomOut.wgsl +96 -0
- package/wgsl/Slides.wgsl +216 -0
- package/wgsl/StarWipe.wgsl +169 -0
- package/wgsl/StaticFade.wgsl +159 -0
- package/wgsl/StereoViewer.wgsl +625 -0
- package/wgsl/StripDatamoshGlitch.wgsl +755 -0
- package/wgsl/Swirl.wgsl +124 -0
- package/wgsl/TVStatic.wgsl +106 -0
- package/wgsl/TilesWave.wgsl +262 -0
- package/wgsl/TopBottom.wgsl +109 -0
- package/wgsl/VerticalClose.wgsl +72 -0
- package/wgsl/VerticalOpen.wgsl +75 -0
- package/wgsl/WaterDrop.wgsl +98 -0
- package/wgsl/ZoomInCircles.wgsl +138 -0
- package/wgsl/ZoomLeftWipe.wgsl +121 -0
- package/wgsl/ZoomRigthWipe.wgsl +121 -0
- package/wgsl/angular.wgsl +83 -0
- package/wgsl/burn.wgsl +74 -0
- package/wgsl/burn0.wgsl +198 -0
- package/wgsl/cannabisleaf.wgsl +92 -0
- package/wgsl/chessboard.wgsl +116 -0
- package/wgsl/circle.wgsl +87 -0
- package/wgsl/circleopen.wgsl +96 -0
- package/wgsl/colorphase.wgsl +77 -0
- package/wgsl/coord-from-in.wgsl +83 -0
- package/wgsl/crosshatch.wgsl +96 -0
- package/wgsl/crosswarp.wgsl +75 -0
- package/wgsl/cube.wgsl +217 -0
- package/wgsl/directional-easing.wgsl +83 -0
- package/wgsl/directionalwarp.wgsl +92 -0
- package/wgsl/directionalwipe.wgsl +91 -0
- package/wgsl/displacement.wgsl +96 -0
- package/wgsl/dissolve.wgsl +116 -0
- package/wgsl/doorway.wgsl +174 -0
- package/wgsl/fade.wgsl +67 -0
- package/wgsl/fadecolor.wgsl +75 -0
- package/wgsl/fadegrayscale.wgsl +93 -0
- package/wgsl/flyeye.wgsl +105 -0
- package/wgsl/fragment.wgsl +227 -0
- package/wgsl/heart.wgsl +103 -0
- package/wgsl/hexagonalize.wgsl +238 -0
- package/wgsl/kaleidoscope.wgsl +124 -0
- package/wgsl/luma.wgsl +80 -0
- package/wgsl/luminance_melt.wgsl +299 -0
- package/wgsl/morph.wgsl +103 -0
- package/wgsl/mosaic_transition.wgsl +107 -0
- package/wgsl/multiply_blend.wgsl +96 -0
- package/wgsl/old_tv_lost_signal.wgsl +142 -0
- package/wgsl/parametric_glitch.wgsl +124 -0
- package/wgsl/perlin.wgsl +174 -0
- package/wgsl/pinwheel.wgsl +84 -0
- package/wgsl/pixelize.wgsl +105 -0
- package/wgsl/polar_function.wgsl +88 -0
- package/wgsl/powerKaleido.wgsl +254 -0
- package/wgsl/randomNoisex.wgsl +85 -0
- package/wgsl/randomsquares.wgsl +87 -0
- package/wgsl/ripple.wgsl +85 -0
- package/wgsl/rotateTransition.wgsl +85 -0
- package/wgsl/rotate_scale_fade.wgsl +138 -0
- package/wgsl/scale-in.wgsl +79 -0
- package/wgsl/splitSlideInHorizontal.wgsl +118 -0
- package/wgsl/splitSlideInOutHorizontal.wgsl +109 -0
- package/wgsl/splitSlideInOutVertical.wgsl +109 -0
- package/wgsl/splitSlideInVertical.wgsl +115 -0
- package/wgsl/splitSlideOutHorizontal.wgsl +102 -0
- package/wgsl/splitSlideOutVertical.wgsl +102 -0
- package/wgsl/squareswire.wgsl +115 -0
- package/wgsl/squeeze.wgsl +105 -0
- package/wgsl/static_wipe.wgsl +117 -0
- package/wgsl/swap.wgsl +218 -0
- package/wgsl/tangentMotionBlur.wgsl +503 -0
- package/wgsl/undulatingBurnOut.wgsl +181 -0
- package/wgsl/wind.wgsl +101 -0
- package/wgsl/windowblinds.wgsl +79 -0
- package/wgsl/windowslice.wgsl +80 -0
- package/wgsl/wipeDown.wgsl +77 -0
- package/wgsl/wipeLeft.wgsl +77 -0
- package/wgsl/wipeRight.wgsl +77 -0
- package/wgsl/wipeUp.wgsl +77 -0
- package/wgsl/x_axis_translation.wgsl +82 -0
- package/wgsl/zoomInOut.wgsl +94 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
// ButterflyWaveScrawler — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/ButterflyWaveScrawler.glsl
|
|
2
|
+
// Author: mandubian
|
|
3
|
+
// License: MIT
|
|
4
|
+
// Description: Wavy, color-separated ripples scramble the outgoing image into the incoming one
|
|
5
|
+
// Bindings and uniform layout: see the gl-transitions package README
|
|
6
|
+
|
|
7
|
+
// language: metal1.0
|
|
8
|
+
#include <metal_stdlib>
|
|
9
|
+
#include <simd/simd.h>
|
|
10
|
+
|
|
11
|
+
using metal::uint;
|
|
12
|
+
|
|
13
|
+
struct Uniforms {
|
|
14
|
+
float progress;
|
|
15
|
+
float ratio;
|
|
16
|
+
float amplitude;
|
|
17
|
+
float waves;
|
|
18
|
+
float colorSeparation;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
float compute(
|
|
22
|
+
thread metal::float2& p,
|
|
23
|
+
thread float& progress,
|
|
24
|
+
thread metal::float2& center,
|
|
25
|
+
constant Uniforms& uniforms
|
|
26
|
+
) {
|
|
27
|
+
metal::float2 o = {};
|
|
28
|
+
metal::float2 h = {};
|
|
29
|
+
float theta = {};
|
|
30
|
+
float s = {};
|
|
31
|
+
float s2_ = {};
|
|
32
|
+
metal::float2 _e31 = p;
|
|
33
|
+
float _e32 = progress;
|
|
34
|
+
float _e34 = uniforms.amplitude;
|
|
35
|
+
metal::float2 _e38 = center;
|
|
36
|
+
o = (_e31 * metal::sin(_e32 * _e34)) - _e38;
|
|
37
|
+
h = metal::float2(1.0, 0.0);
|
|
38
|
+
metal::float2 _e40 = o;
|
|
39
|
+
metal::float2 _e41 = h;
|
|
40
|
+
float _e45 = uniforms.waves;
|
|
41
|
+
theta = metal::acos(metal::dot(_e40, _e41)) * _e45;
|
|
42
|
+
float _e47 = theta;
|
|
43
|
+
s = metal::sin(((2.0 * _e47) - 3.1415927) / 24.0);
|
|
44
|
+
float _e52 = s;
|
|
45
|
+
float _e53 = s;
|
|
46
|
+
s2_ = _e52 * _e53;
|
|
47
|
+
float _e55 = theta;
|
|
48
|
+
float _e58 = theta;
|
|
49
|
+
float _e63 = s2_;
|
|
50
|
+
float _e64 = s2_;
|
|
51
|
+
float _e66 = s;
|
|
52
|
+
return ((metal::exp(metal::cos(_e55)) - (2.0 * metal::cos(4.0 * _e58))) + ((_e63 * _e64) * _e66)) / 10.0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
metal::float4 getToColor(
|
|
56
|
+
thread metal::float2& uv,
|
|
57
|
+
metal::sampler _sampler,
|
|
58
|
+
metal::texture2d<float, metal::access::sample> _to
|
|
59
|
+
) {
|
|
60
|
+
float _e25 = uv[0u];
|
|
61
|
+
float _e27 = uv[1u];
|
|
62
|
+
metal::float4 _e30 = _to.sample(_sampler, metal::float2(_e25, 1.0 - _e27), metal::level(0.0));
|
|
63
|
+
return _e30;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
metal::float4 getFromColor(
|
|
67
|
+
thread metal::float2& uv_1,
|
|
68
|
+
metal::texture2d<float, metal::access::sample> _from,
|
|
69
|
+
metal::sampler _sampler
|
|
70
|
+
) {
|
|
71
|
+
float _e25 = uv_1[0u];
|
|
72
|
+
float _e27 = uv_1[1u];
|
|
73
|
+
metal::float4 _e30 = _from.sample(_sampler, metal::float2(_e25, 1.0 - _e27), metal::level(0.0));
|
|
74
|
+
return _e30;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
metal::float4 transition(
|
|
78
|
+
thread metal::float2& uv_2,
|
|
79
|
+
metal::texture2d<float, metal::access::sample> _from,
|
|
80
|
+
metal::sampler _sampler,
|
|
81
|
+
metal::texture2d<float, metal::access::sample> _to,
|
|
82
|
+
constant Uniforms& uniforms
|
|
83
|
+
) {
|
|
84
|
+
metal::float2 param = {};
|
|
85
|
+
metal::float2 param_1 = {};
|
|
86
|
+
metal::float2 p_1 = {};
|
|
87
|
+
float inv = {};
|
|
88
|
+
float disp = {};
|
|
89
|
+
metal::float2 param_2 = {};
|
|
90
|
+
float param_3 = {};
|
|
91
|
+
metal::float2 param_4 = {};
|
|
92
|
+
metal::float4 texTo = {};
|
|
93
|
+
metal::float2 param_5 = {};
|
|
94
|
+
metal::float4 texFrom = {};
|
|
95
|
+
metal::float2 param_6 = {};
|
|
96
|
+
metal::float2 param_7 = {};
|
|
97
|
+
metal::float2 param_8 = {};
|
|
98
|
+
float _e39 = uniforms.progress;
|
|
99
|
+
if (_e39 <= 0.0) {
|
|
100
|
+
metal::float2 _e41 = uv_2;
|
|
101
|
+
param = _e41;
|
|
102
|
+
metal::float4 _e42 = getFromColor(param, _from, _sampler);
|
|
103
|
+
return _e42;
|
|
104
|
+
}
|
|
105
|
+
float _e44 = uniforms.progress;
|
|
106
|
+
if (_e44 >= 1.0) {
|
|
107
|
+
metal::float2 _e46 = uv_2;
|
|
108
|
+
param_1 = _e46;
|
|
109
|
+
metal::float4 _e47 = getToColor(param_1, _sampler, _to);
|
|
110
|
+
return _e47;
|
|
111
|
+
}
|
|
112
|
+
metal::float2 _e48 = uv_2;
|
|
113
|
+
p_1 = _e48;
|
|
114
|
+
float _e50 = uniforms.progress;
|
|
115
|
+
inv = 1.0 - _e50;
|
|
116
|
+
metal::float2 _e52 = p_1;
|
|
117
|
+
param_2 = _e52;
|
|
118
|
+
float _e54 = uniforms.progress;
|
|
119
|
+
param_3 = _e54;
|
|
120
|
+
param_4 = metal::float2(0.5, 0.5);
|
|
121
|
+
float _e55 = compute(param_2, param_3, param_4, uniforms);
|
|
122
|
+
disp = _e55;
|
|
123
|
+
metal::float2 _e56 = p_1;
|
|
124
|
+
float _e57 = inv;
|
|
125
|
+
float _e58 = disp;
|
|
126
|
+
param_5 = _e56 + metal::float2(_e57 * _e58);
|
|
127
|
+
metal::float4 _e62 = getToColor(param_5, _sampler, _to);
|
|
128
|
+
texTo = _e62;
|
|
129
|
+
metal::float2 _e63 = p_1;
|
|
130
|
+
float _e65 = uniforms.progress;
|
|
131
|
+
float _e66 = disp;
|
|
132
|
+
float _e69 = uniforms.colorSeparation;
|
|
133
|
+
param_6 = _e63 + metal::float2((_e65 * _e66) * (1.0 - _e69));
|
|
134
|
+
metal::float4 _e74 = getFromColor(param_6, _from, _sampler);
|
|
135
|
+
metal::float2 _e76 = p_1;
|
|
136
|
+
float _e78 = uniforms.progress;
|
|
137
|
+
float _e79 = disp;
|
|
138
|
+
param_7 = _e76 + metal::float2(_e78 * _e79);
|
|
139
|
+
metal::float4 _e83 = getFromColor(param_7, _from, _sampler);
|
|
140
|
+
metal::float2 _e85 = p_1;
|
|
141
|
+
float _e87 = uniforms.progress;
|
|
142
|
+
float _e88 = disp;
|
|
143
|
+
float _e91 = uniforms.colorSeparation;
|
|
144
|
+
param_8 = _e85 + metal::float2((_e87 * _e88) * (1.0 + _e91));
|
|
145
|
+
metal::float4 _e96 = getFromColor(param_8, _from, _sampler);
|
|
146
|
+
texFrom = metal::float4(_e74.x, _e83.y, _e96.z, 1.0);
|
|
147
|
+
metal::float4 _e99 = texTo;
|
|
148
|
+
float _e101 = uniforms.progress;
|
|
149
|
+
metal::float4 _e103 = texFrom;
|
|
150
|
+
float _e104 = inv;
|
|
151
|
+
return (_e99 * _e101) + (_e103 * _e104);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
void main_1(
|
|
155
|
+
metal::texture2d<float, metal::access::sample> _from,
|
|
156
|
+
metal::sampler _sampler,
|
|
157
|
+
metal::texture2d<float, metal::access::sample> _to,
|
|
158
|
+
constant Uniforms& uniforms,
|
|
159
|
+
thread metal::float4& _fragColor,
|
|
160
|
+
thread metal::float2& _uv_1
|
|
161
|
+
) {
|
|
162
|
+
metal::float2 param_9 = {};
|
|
163
|
+
metal::float2 _e24 = _uv_1;
|
|
164
|
+
param_9 = _e24;
|
|
165
|
+
metal::float4 _e25 = transition(param_9, _from, _sampler, _to, uniforms);
|
|
166
|
+
_fragColor = _e25;
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
struct main_Input {
|
|
171
|
+
metal::float2 _uv [[user(loc0), center_perspective]];
|
|
172
|
+
};
|
|
173
|
+
struct main_Output {
|
|
174
|
+
metal::float4 member [[color(0)]];
|
|
175
|
+
};
|
|
176
|
+
fragment main_Output main_(
|
|
177
|
+
main_Input varyings [[stage_in]]
|
|
178
|
+
, metal::texture2d<float, metal::access::sample> _from [[texture(0)]]
|
|
179
|
+
, metal::sampler _sampler [[sampler(0)]]
|
|
180
|
+
, metal::texture2d<float, metal::access::sample> _to [[texture(1)]]
|
|
181
|
+
, constant Uniforms& uniforms [[buffer(0)]]
|
|
182
|
+
) {
|
|
183
|
+
metal::float4 _fragColor = {};
|
|
184
|
+
metal::float2 _uv_1 = {};
|
|
185
|
+
const auto _uv = varyings._uv;
|
|
186
|
+
_uv_1 = _uv;
|
|
187
|
+
main_1(_from, _sampler, _to, uniforms, _fragColor, _uv_1);
|
|
188
|
+
metal::float4 _e3 = _fragColor;
|
|
189
|
+
return main_Output { _e3 };
|
|
190
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// CircleCrop — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/CircleCrop.glsl
|
|
2
|
+
// Author: fkuteken
|
|
3
|
+
// License: MIT
|
|
4
|
+
// Description: The outgoing image closes into a circle over a background color, then the incoming one opens from it
|
|
5
|
+
// Bindings and uniform layout: see the gl-transitions package README
|
|
6
|
+
|
|
7
|
+
// language: metal1.0
|
|
8
|
+
#include <metal_stdlib>
|
|
9
|
+
#include <simd/simd.h>
|
|
10
|
+
|
|
11
|
+
using metal::uint;
|
|
12
|
+
|
|
13
|
+
struct Uniforms {
|
|
14
|
+
float progress;
|
|
15
|
+
float ratio;
|
|
16
|
+
char _pad2[8];
|
|
17
|
+
metal::float4 bgcolor;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
metal::float4 getToColor(
|
|
21
|
+
thread metal::float2& uv,
|
|
22
|
+
metal::sampler _sampler,
|
|
23
|
+
metal::texture2d<float, metal::access::sample> _to
|
|
24
|
+
) {
|
|
25
|
+
float _e18 = uv[0u];
|
|
26
|
+
float _e20 = uv[1u];
|
|
27
|
+
metal::float4 _e23 = _to.sample(_sampler, metal::float2(_e18, 1.0 - _e20), metal::level(0.0));
|
|
28
|
+
return _e23;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
metal::float4 getFromColor(
|
|
32
|
+
thread metal::float2& uv_1,
|
|
33
|
+
metal::texture2d<float, metal::access::sample> _from,
|
|
34
|
+
metal::sampler _sampler
|
|
35
|
+
) {
|
|
36
|
+
float _e18 = uv_1[0u];
|
|
37
|
+
float _e20 = uv_1[1u];
|
|
38
|
+
metal::float4 _e23 = _from.sample(_sampler, metal::float2(_e18, 1.0 - _e20), metal::level(0.0));
|
|
39
|
+
return _e23;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
metal::float4 transition(
|
|
43
|
+
thread metal::float2& p,
|
|
44
|
+
metal::texture2d<float, metal::access::sample> _from,
|
|
45
|
+
metal::sampler _sampler,
|
|
46
|
+
metal::texture2d<float, metal::access::sample> _to,
|
|
47
|
+
constant Uniforms& uniforms
|
|
48
|
+
) {
|
|
49
|
+
metal::float2 ratio2_ = {};
|
|
50
|
+
float s = {};
|
|
51
|
+
float dist = {};
|
|
52
|
+
metal::float4 local = {};
|
|
53
|
+
metal::float2 param = {};
|
|
54
|
+
metal::float2 param_1 = {};
|
|
55
|
+
float _e24 = uniforms.ratio;
|
|
56
|
+
ratio2_ = metal::float2(1.0, 1.0 / _e24);
|
|
57
|
+
float _e28 = uniforms.progress;
|
|
58
|
+
s = metal::pow(2.0 * metal::abs(_e28 - 0.5), 3.0);
|
|
59
|
+
metal::float2 _e33 = p;
|
|
60
|
+
metal::float2 _e36 = ratio2_;
|
|
61
|
+
dist = metal::length((_e33 - metal::float2(0.5)) * _e36);
|
|
62
|
+
float _e40 = uniforms.progress;
|
|
63
|
+
if (_e40 < 0.5) {
|
|
64
|
+
metal::float2 _e42 = p;
|
|
65
|
+
param = _e42;
|
|
66
|
+
metal::float4 _e43 = getFromColor(param, _from, _sampler);
|
|
67
|
+
local = _e43;
|
|
68
|
+
} else {
|
|
69
|
+
metal::float2 _e44 = p;
|
|
70
|
+
param_1 = _e44;
|
|
71
|
+
metal::float4 _e45 = getToColor(param_1, _sampler, _to);
|
|
72
|
+
local = _e45;
|
|
73
|
+
}
|
|
74
|
+
metal::float4 _e46 = local;
|
|
75
|
+
metal::float4 _e48 = uniforms.bgcolor;
|
|
76
|
+
float _e49 = s;
|
|
77
|
+
float _e50 = dist;
|
|
78
|
+
return metal::mix(_e46, _e48, metal::float4(metal::step(_e49, _e50)));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
void main_1(
|
|
82
|
+
metal::texture2d<float, metal::access::sample> _from,
|
|
83
|
+
metal::sampler _sampler,
|
|
84
|
+
metal::texture2d<float, metal::access::sample> _to,
|
|
85
|
+
constant Uniforms& uniforms,
|
|
86
|
+
thread metal::float4& _fragColor,
|
|
87
|
+
thread metal::float2& _uv_1
|
|
88
|
+
) {
|
|
89
|
+
metal::float2 param_2 = {};
|
|
90
|
+
metal::float2 _e17 = _uv_1;
|
|
91
|
+
param_2 = _e17;
|
|
92
|
+
metal::float4 _e18 = transition(param_2, _from, _sampler, _to, uniforms);
|
|
93
|
+
_fragColor = _e18;
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
struct main_Input {
|
|
98
|
+
metal::float2 _uv [[user(loc0), center_perspective]];
|
|
99
|
+
};
|
|
100
|
+
struct main_Output {
|
|
101
|
+
metal::float4 member [[color(0)]];
|
|
102
|
+
};
|
|
103
|
+
fragment main_Output main_(
|
|
104
|
+
main_Input varyings [[stage_in]]
|
|
105
|
+
, metal::texture2d<float, metal::access::sample> _from [[texture(0)]]
|
|
106
|
+
, metal::sampler _sampler [[sampler(0)]]
|
|
107
|
+
, metal::texture2d<float, metal::access::sample> _to [[texture(1)]]
|
|
108
|
+
, constant Uniforms& uniforms [[buffer(0)]]
|
|
109
|
+
) {
|
|
110
|
+
metal::float4 _fragColor = {};
|
|
111
|
+
metal::float2 _uv_1 = {};
|
|
112
|
+
const auto _uv = varyings._uv;
|
|
113
|
+
_uv_1 = _uv;
|
|
114
|
+
main_1(_from, _sampler, _to, uniforms, _fragColor, _uv_1);
|
|
115
|
+
metal::float4 _e3 = _fragColor;
|
|
116
|
+
return main_Output { _e3 };
|
|
117
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
// ColourDistance — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/ColourDistance.glsl
|
|
2
|
+
// Author: P-Seebauer
|
|
3
|
+
// License: MIT
|
|
4
|
+
// Description: Pixels switch to the incoming image in order of how close their colors are
|
|
5
|
+
// Bindings and uniform layout: see the gl-transitions package README
|
|
6
|
+
|
|
7
|
+
// language: metal1.0
|
|
8
|
+
#include <metal_stdlib>
|
|
9
|
+
#include <simd/simd.h>
|
|
10
|
+
|
|
11
|
+
using metal::uint;
|
|
12
|
+
|
|
13
|
+
struct Uniforms {
|
|
14
|
+
float progress;
|
|
15
|
+
float ratio;
|
|
16
|
+
float power;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
metal::float4 getToColor(
|
|
20
|
+
thread metal::float2& uv,
|
|
21
|
+
metal::sampler _sampler,
|
|
22
|
+
metal::texture2d<float, metal::access::sample> _to
|
|
23
|
+
) {
|
|
24
|
+
float _e14 = uv[0u];
|
|
25
|
+
float _e16 = uv[1u];
|
|
26
|
+
metal::float4 _e19 = _to.sample(_sampler, metal::float2(_e14, 1.0 - _e16), metal::level(0.0));
|
|
27
|
+
return _e19;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
metal::float4 getFromColor(
|
|
31
|
+
thread metal::float2& uv_1,
|
|
32
|
+
metal::texture2d<float, metal::access::sample> _from,
|
|
33
|
+
metal::sampler _sampler
|
|
34
|
+
) {
|
|
35
|
+
float _e14 = uv_1[0u];
|
|
36
|
+
float _e16 = uv_1[1u];
|
|
37
|
+
metal::float4 _e19 = _from.sample(_sampler, metal::float2(_e14, 1.0 - _e16), metal::level(0.0));
|
|
38
|
+
return _e19;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
metal::float4 transition(
|
|
42
|
+
thread metal::float2& p,
|
|
43
|
+
metal::texture2d<float, metal::access::sample> _from,
|
|
44
|
+
metal::sampler _sampler,
|
|
45
|
+
metal::texture2d<float, metal::access::sample> _to,
|
|
46
|
+
constant Uniforms& uniforms
|
|
47
|
+
) {
|
|
48
|
+
metal::float4 fTex = {};
|
|
49
|
+
metal::float2 param = {};
|
|
50
|
+
metal::float4 tTex = {};
|
|
51
|
+
metal::float2 param_1 = {};
|
|
52
|
+
float m = {};
|
|
53
|
+
metal::float2 _e18 = p;
|
|
54
|
+
param = _e18;
|
|
55
|
+
metal::float4 _e19 = getFromColor(param, _from, _sampler);
|
|
56
|
+
fTex = _e19;
|
|
57
|
+
metal::float2 _e20 = p;
|
|
58
|
+
param_1 = _e20;
|
|
59
|
+
metal::float4 _e21 = getToColor(param_1, _sampler, _to);
|
|
60
|
+
tTex = _e21;
|
|
61
|
+
metal::float4 _e22 = fTex;
|
|
62
|
+
metal::float4 _e23 = tTex;
|
|
63
|
+
float _e26 = uniforms.progress;
|
|
64
|
+
m = metal::step(metal::distance(_e22, _e23), _e26);
|
|
65
|
+
metal::float4 _e28 = fTex;
|
|
66
|
+
metal::float4 _e29 = tTex;
|
|
67
|
+
float _e30 = m;
|
|
68
|
+
metal::float4 _e33 = tTex;
|
|
69
|
+
float _e35 = uniforms.progress;
|
|
70
|
+
float _e37 = uniforms.power;
|
|
71
|
+
return metal::mix(metal::mix(_e28, _e29, metal::float4(_e30)), _e33, metal::float4(metal::pow(_e35, _e37)));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
void main_1(
|
|
75
|
+
metal::texture2d<float, metal::access::sample> _from,
|
|
76
|
+
metal::sampler _sampler,
|
|
77
|
+
metal::texture2d<float, metal::access::sample> _to,
|
|
78
|
+
constant Uniforms& uniforms,
|
|
79
|
+
thread metal::float4& _fragColor,
|
|
80
|
+
thread metal::float2& _uv_1
|
|
81
|
+
) {
|
|
82
|
+
metal::float2 param_2 = {};
|
|
83
|
+
metal::float2 _e13 = _uv_1;
|
|
84
|
+
param_2 = _e13;
|
|
85
|
+
metal::float4 _e14 = transition(param_2, _from, _sampler, _to, uniforms);
|
|
86
|
+
_fragColor = _e14;
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
struct main_Input {
|
|
91
|
+
metal::float2 _uv [[user(loc0), center_perspective]];
|
|
92
|
+
};
|
|
93
|
+
struct main_Output {
|
|
94
|
+
metal::float4 member [[color(0)]];
|
|
95
|
+
};
|
|
96
|
+
fragment main_Output main_(
|
|
97
|
+
main_Input varyings [[stage_in]]
|
|
98
|
+
, metal::texture2d<float, metal::access::sample> _from [[texture(0)]]
|
|
99
|
+
, metal::sampler _sampler [[sampler(0)]]
|
|
100
|
+
, metal::texture2d<float, metal::access::sample> _to [[texture(1)]]
|
|
101
|
+
, constant Uniforms& uniforms [[buffer(0)]]
|
|
102
|
+
) {
|
|
103
|
+
metal::float4 _fragColor = {};
|
|
104
|
+
metal::float2 _uv_1 = {};
|
|
105
|
+
const auto _uv = varyings._uv;
|
|
106
|
+
_uv_1 = _uv;
|
|
107
|
+
main_1(_from, _sampler, _to, uniforms, _fragColor, _uv_1);
|
|
108
|
+
metal::float4 _e3 = _fragColor;
|
|
109
|
+
return main_Output { _e3 };
|
|
110
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
// CrazyParametricFun — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/CrazyParametricFun.glsl
|
|
2
|
+
// Author: mandubian
|
|
3
|
+
// License: MIT
|
|
4
|
+
// Description: The outgoing image is pulled along a parametric curve into a psychedelic swirl
|
|
5
|
+
// Bindings and uniform layout: see the gl-transitions package README
|
|
6
|
+
|
|
7
|
+
// language: metal1.0
|
|
8
|
+
#include <metal_stdlib>
|
|
9
|
+
#include <simd/simd.h>
|
|
10
|
+
|
|
11
|
+
using metal::uint;
|
|
12
|
+
|
|
13
|
+
struct Uniforms {
|
|
14
|
+
float progress;
|
|
15
|
+
float ratio;
|
|
16
|
+
float a;
|
|
17
|
+
float b;
|
|
18
|
+
float amplitude;
|
|
19
|
+
float smoothness;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
metal::float4 getToColor(
|
|
23
|
+
thread metal::float2& uv,
|
|
24
|
+
metal::sampler _sampler,
|
|
25
|
+
metal::texture2d<float, metal::access::sample> _to
|
|
26
|
+
) {
|
|
27
|
+
float _e21 = uv[0u];
|
|
28
|
+
float _e23 = uv[1u];
|
|
29
|
+
metal::float4 _e26 = _to.sample(_sampler, metal::float2(_e21, 1.0 - _e23), metal::level(0.0));
|
|
30
|
+
return _e26;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
metal::float4 getFromColor(
|
|
34
|
+
thread metal::float2& uv_1,
|
|
35
|
+
metal::texture2d<float, metal::access::sample> _from,
|
|
36
|
+
metal::sampler _sampler
|
|
37
|
+
) {
|
|
38
|
+
float _e21 = uv_1[0u];
|
|
39
|
+
float _e23 = uv_1[1u];
|
|
40
|
+
metal::float4 _e26 = _from.sample(_sampler, metal::float2(_e21, 1.0 - _e23), metal::level(0.0));
|
|
41
|
+
return _e26;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
metal::float4 transition(
|
|
45
|
+
thread metal::float2& uv_2,
|
|
46
|
+
metal::texture2d<float, metal::access::sample> _from,
|
|
47
|
+
metal::sampler _sampler,
|
|
48
|
+
metal::texture2d<float, metal::access::sample> _to,
|
|
49
|
+
constant Uniforms& uniforms
|
|
50
|
+
) {
|
|
51
|
+
metal::float2 p = {};
|
|
52
|
+
metal::float2 dir = {};
|
|
53
|
+
float dist = {};
|
|
54
|
+
float x = {};
|
|
55
|
+
float y = {};
|
|
56
|
+
metal::float2 offset = {};
|
|
57
|
+
metal::float2 param = {};
|
|
58
|
+
metal::float2 param_1 = {};
|
|
59
|
+
metal::float2 _e28 = uv_2;
|
|
60
|
+
p = _e28 / metal::float2(1.0, 1.0);
|
|
61
|
+
metal::float2 _e30 = p;
|
|
62
|
+
dir = _e30 - metal::float2(0.5, 0.5);
|
|
63
|
+
metal::float2 _e32 = dir;
|
|
64
|
+
dist = metal::length(_e32);
|
|
65
|
+
float _e35 = uniforms.a;
|
|
66
|
+
float _e37 = uniforms.b;
|
|
67
|
+
float _e40 = uniforms.progress;
|
|
68
|
+
float _e44 = uniforms.b;
|
|
69
|
+
float _e46 = uniforms.progress;
|
|
70
|
+
float _e48 = uniforms.a;
|
|
71
|
+
float _e50 = uniforms.b;
|
|
72
|
+
x = ((_e35 - _e37) * metal::cos(_e40)) + (_e44 * metal::cos(_e46 * ((_e48 / _e50) - 1.0)));
|
|
73
|
+
float _e58 = uniforms.a;
|
|
74
|
+
float _e60 = uniforms.b;
|
|
75
|
+
float _e63 = uniforms.progress;
|
|
76
|
+
float _e67 = uniforms.b;
|
|
77
|
+
float _e69 = uniforms.progress;
|
|
78
|
+
float _e71 = uniforms.a;
|
|
79
|
+
float _e73 = uniforms.b;
|
|
80
|
+
y = ((_e58 - _e60) * metal::sin(_e63)) - (_e67 * metal::sin(_e69 * ((_e71 / _e73) - 1.0)));
|
|
81
|
+
metal::float2 _e80 = dir;
|
|
82
|
+
float _e82 = uniforms.progress;
|
|
83
|
+
float _e83 = dist;
|
|
84
|
+
float _e86 = uniforms.amplitude;
|
|
85
|
+
float _e88 = x;
|
|
86
|
+
float _e92 = uniforms.progress;
|
|
87
|
+
float _e93 = dist;
|
|
88
|
+
float _e96 = uniforms.amplitude;
|
|
89
|
+
float _e98 = y;
|
|
90
|
+
float _e104 = uniforms.smoothness;
|
|
91
|
+
offset = (_e80 * metal::float2(metal::sin(((_e82 * _e83) * _e86) * _e88), metal::sin(((_e92 * _e93) * _e96) * _e98))) / metal::float2(_e104);
|
|
92
|
+
metal::float2 _e107 = p;
|
|
93
|
+
metal::float2 _e108 = offset;
|
|
94
|
+
param = _e107 + _e108;
|
|
95
|
+
metal::float4 _e110 = getFromColor(param, _from, _sampler);
|
|
96
|
+
metal::float2 _e111 = p;
|
|
97
|
+
param_1 = _e111;
|
|
98
|
+
metal::float4 _e112 = getToColor(param_1, _sampler, _to);
|
|
99
|
+
float _e114 = uniforms.progress;
|
|
100
|
+
return metal::mix(_e110, _e112, metal::float4(metal::smoothstep(0.2, 1.0, _e114)));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
void main_1(
|
|
104
|
+
metal::texture2d<float, metal::access::sample> _from,
|
|
105
|
+
metal::sampler _sampler,
|
|
106
|
+
metal::texture2d<float, metal::access::sample> _to,
|
|
107
|
+
constant Uniforms& uniforms,
|
|
108
|
+
thread metal::float4& _fragColor,
|
|
109
|
+
thread metal::float2& _uv_1
|
|
110
|
+
) {
|
|
111
|
+
metal::float2 param_2 = {};
|
|
112
|
+
metal::float2 _e20 = _uv_1;
|
|
113
|
+
param_2 = _e20;
|
|
114
|
+
metal::float4 _e21 = transition(param_2, _from, _sampler, _to, uniforms);
|
|
115
|
+
_fragColor = _e21;
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
struct main_Input {
|
|
120
|
+
metal::float2 _uv [[user(loc0), center_perspective]];
|
|
121
|
+
};
|
|
122
|
+
struct main_Output {
|
|
123
|
+
metal::float4 member [[color(0)]];
|
|
124
|
+
};
|
|
125
|
+
fragment main_Output main_(
|
|
126
|
+
main_Input varyings [[stage_in]]
|
|
127
|
+
, metal::texture2d<float, metal::access::sample> _from [[texture(0)]]
|
|
128
|
+
, metal::sampler _sampler [[sampler(0)]]
|
|
129
|
+
, metal::texture2d<float, metal::access::sample> _to [[texture(1)]]
|
|
130
|
+
, constant Uniforms& uniforms [[buffer(0)]]
|
|
131
|
+
) {
|
|
132
|
+
metal::float4 _fragColor = {};
|
|
133
|
+
metal::float2 _uv_1 = {};
|
|
134
|
+
const auto _uv = varyings._uv;
|
|
135
|
+
_uv_1 = _uv;
|
|
136
|
+
main_1(_from, _sampler, _to, uniforms, _fragColor, _uv_1);
|
|
137
|
+
metal::float4 _e3 = _fragColor;
|
|
138
|
+
return main_Output { _e3 };
|
|
139
|
+
}
|