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.
Files changed (389) hide show
  1. package/README.md +78 -0
  2. package/compatibility.json +2070 -0
  3. package/glsl3/AdvancedMosaic.glsl +21 -0
  4. package/glsl3/BlockDissolve.glsl +16 -0
  5. package/glsl3/BookFlip.glsl +37 -0
  6. package/glsl3/Bounce.glsl +35 -0
  7. package/glsl3/BowTieHorizontal.glsl +123 -0
  8. package/glsl3/BowTieVertical.glsl +117 -0
  9. package/glsl3/BowTieWithParameter.glsl +74 -0
  10. package/glsl3/Box.glsl +33 -0
  11. package/glsl3/ButterflyWaveScrawler.glsl +33 -0
  12. package/glsl3/CircleCrop.glsl +20 -0
  13. package/glsl3/ColourDistance.glsl +19 -0
  14. package/glsl3/CrazyParametricFun.glsl +20 -0
  15. package/glsl3/CrossZoom.glsl +68 -0
  16. package/glsl3/DefocusBlur.glsl +47 -0
  17. package/glsl3/Directional.glsl +18 -0
  18. package/glsl3/DirectionalScaled.glsl +35 -0
  19. package/glsl3/DoomScreenTransition.glsl +62 -0
  20. package/glsl3/Dreamy.glsl +14 -0
  21. package/glsl3/DreamyZoom.glsl +43 -0
  22. package/glsl3/Drop_Zone_Flicker.glsl +159 -0
  23. package/glsl3/EdgeTransition.glsl +50 -0
  24. package/glsl3/FilmBurn.glsl +63 -0
  25. package/glsl3/Fold.glsl +12 -0
  26. package/glsl3/GlitchDisplace.glsl +78 -0
  27. package/glsl3/GlitchMemories.glsl +17 -0
  28. package/glsl3/GridFlip.glsl +77 -0
  29. package/glsl3/HSVfade.glsl +29 -0
  30. package/glsl3/HorizontalClose.glsl +16 -0
  31. package/glsl3/HorizontalOpen.glsl +18 -0
  32. package/glsl3/InvertedPageCurl.glsl +228 -0
  33. package/glsl3/LeftRight.glsl +28 -0
  34. package/glsl3/LinearBlur.glsl +30 -0
  35. package/glsl3/Mosaic.glsl +45 -0
  36. package/glsl3/Overexposure.glsl +25 -0
  37. package/glsl3/PolkaDotsCurtain.glsl +14 -0
  38. package/glsl3/PuzzleRight.glsl +57 -0
  39. package/glsl3/Radial.glsl +19 -0
  40. package/glsl3/Rectangle.glsl +29 -0
  41. package/glsl3/RectangleCrop.glsl +30 -0
  42. package/glsl3/Revolve_Left.glsl +98 -0
  43. package/glsl3/Rolls.glsl +42 -0
  44. package/glsl3/RotateScaleVanish.glsl +42 -0
  45. package/glsl3/SimpleFlip.glsl +14 -0
  46. package/glsl3/SimpleZoom.glsl +20 -0
  47. package/glsl3/SimpleZoomOut.glsl +23 -0
  48. package/glsl3/Slides.glsl +41 -0
  49. package/glsl3/StarWipe.glsl +51 -0
  50. package/glsl3/StaticFade.glsl +47 -0
  51. package/glsl3/StereoViewer.glsl +214 -0
  52. package/glsl3/StripDatamoshGlitch.glsl +187 -0
  53. package/glsl3/Swirl.glsl +34 -0
  54. package/glsl3/TVStatic.glsl +29 -0
  55. package/glsl3/TilesWave.glsl +63 -0
  56. package/glsl3/TopBottom.glsl +27 -0
  57. package/glsl3/VerticalClose.glsl +16 -0
  58. package/glsl3/VerticalOpen.glsl +17 -0
  59. package/glsl3/WaterDrop.glsl +21 -0
  60. package/glsl3/ZoomInCircles.glsl +40 -0
  61. package/glsl3/ZoomLeftWipe.glsl +36 -0
  62. package/glsl3/ZoomRigthWipe.glsl +36 -0
  63. package/glsl3/angular.glsl +25 -0
  64. package/glsl3/burn.glsl +14 -0
  65. package/glsl3/burn0.glsl +55 -0
  66. package/glsl3/cannabisleaf.glsl +18 -0
  67. package/glsl3/chessboard.glsl +28 -0
  68. package/glsl3/circle.glsl +24 -0
  69. package/glsl3/circleopen.glsl +18 -0
  70. package/glsl3/colorphase.glsl +19 -0
  71. package/glsl3/coord-from-in.glsl +18 -0
  72. package/glsl3/crosshatch.glsl +20 -0
  73. package/glsl3/crosswarp.glsl +10 -0
  74. package/glsl3/cube.glsl +71 -0
  75. package/glsl3/directional-easing.glsl +19 -0
  76. package/glsl3/directionalwarp.glsl +20 -0
  77. package/glsl3/directionalwipe.glsl +22 -0
  78. package/glsl3/displacement.glsl +26 -0
  79. package/glsl3/dissolve.glsl +54 -0
  80. package/glsl3/doorway.glsl +55 -0
  81. package/glsl3/fade.glsl +13 -0
  82. package/glsl3/fadecolor.glsl +15 -0
  83. package/glsl3/fadegrayscale.glsl +21 -0
  84. package/glsl3/flyeye.glsl +20 -0
  85. package/glsl3/fragment.glsl +54 -0
  86. package/glsl3/heart.glsl +19 -0
  87. package/glsl3/hexagonalize.glsl +78 -0
  88. package/glsl3/kaleidoscope.glsl +25 -0
  89. package/glsl3/luma.glsl +15 -0
  90. package/glsl3/luminance_melt.glsl +131 -0
  91. package/glsl3/morph.glsl +20 -0
  92. package/glsl3/mosaic_transition.glsl +20 -0
  93. package/glsl3/multiply_blend.glsl +19 -0
  94. package/glsl3/old_tv_lost_signal.glsl +51 -0
  95. package/glsl3/parametric_glitch.glsl +29 -0
  96. package/glsl3/perlin.glsl +66 -0
  97. package/glsl3/pinwheel.glsl +20 -0
  98. package/glsl3/pixelize.glsl +21 -0
  99. package/glsl3/polar_function.glsl +24 -0
  100. package/glsl3/powerKaleido.glsl +57 -0
  101. package/glsl3/randomNoisex.glsl +15 -0
  102. package/glsl3/randomsquares.glsl +20 -0
  103. package/glsl3/ripple.glsl +20 -0
  104. package/glsl3/rotateTransition.glsl +22 -0
  105. package/glsl3/rotate_scale_fade.glsl +39 -0
  106. package/glsl3/scale-in.glsl +18 -0
  107. package/glsl3/splitSlideInHorizontal.glsl +26 -0
  108. package/glsl3/splitSlideInOutHorizontal.glsl +23 -0
  109. package/glsl3/splitSlideInOutVertical.glsl +23 -0
  110. package/glsl3/splitSlideInVertical.glsl +24 -0
  111. package/glsl3/splitSlideOutHorizontal.glsl +22 -0
  112. package/glsl3/splitSlideOutVertical.glsl +22 -0
  113. package/glsl3/squareswire.glsl +26 -0
  114. package/glsl3/squeeze.glsl +23 -0
  115. package/glsl3/static_wipe.glsl +39 -0
  116. package/glsl3/swap.glsl +64 -0
  117. package/glsl3/tangentMotionBlur.glsl +139 -0
  118. package/glsl3/undulatingBurnOut.glsl +56 -0
  119. package/glsl3/wind.glsl +25 -0
  120. package/glsl3/windowblinds.glsl +18 -0
  121. package/glsl3/windowslice.glsl +16 -0
  122. package/glsl3/wipeDown.glsl +12 -0
  123. package/glsl3/wipeLeft.glsl +12 -0
  124. package/glsl3/wipeRight.glsl +12 -0
  125. package/glsl3/wipeUp.glsl +12 -0
  126. package/glsl3/x_axis_translation.glsl +21 -0
  127. package/glsl3/zoomInOut.glsl +20 -0
  128. package/index.d.ts +61 -0
  129. package/layouts.json +2956 -0
  130. package/llms-full.txt +1707 -0
  131. package/llms.txt +153 -0
  132. package/msl/AdvancedMosaic.metal +136 -0
  133. package/msl/BlockDissolve.metal +108 -0
  134. package/msl/BookFlip.metal +191 -0
  135. package/msl/Bounce.metal +128 -0
  136. package/msl/BowTieHorizontal.metal +375 -0
  137. package/msl/BowTieVertical.metal +375 -0
  138. package/msl/BowTieWithParameter.metal +361 -0
  139. package/msl/Box.metal +204 -0
  140. package/msl/ButterflyWaveScrawler.metal +190 -0
  141. package/msl/CircleCrop.metal +117 -0
  142. package/msl/ColourDistance.metal +110 -0
  143. package/msl/CrazyParametricFun.metal +139 -0
  144. package/msl/CrossZoom.metal +274 -0
  145. package/msl/DefocusBlur.metal +297 -0
  146. package/msl/Directional.metal +107 -0
  147. package/msl/DirectionalScaled.metal +147 -0
  148. package/msl/DoomScreenTransition.metal +212 -0
  149. package/msl/Dreamy.metal +133 -0
  150. package/msl/DreamyZoom.metal +182 -0
  151. package/msl/Drop_Zone_Flicker.metal +561 -0
  152. package/msl/EdgeTransition.metal +277 -0
  153. package/msl/FilmBurn.metal +425 -0
  154. package/msl/Fold.metal +110 -0
  155. package/msl/GlitchDisplace.metal +374 -0
  156. package/msl/GlitchMemories.metal +146 -0
  157. package/msl/GridFlip.metal +285 -0
  158. package/msl/HSVfade.metal +161 -0
  159. package/msl/HorizontalClose.metal +100 -0
  160. package/msl/HorizontalOpen.metal +103 -0
  161. package/msl/InvertedPageCurl.metal +762 -0
  162. package/msl/LeftRight.metal +138 -0
  163. package/msl/LinearBlur.metal +169 -0
  164. package/msl/Mosaic.metal +212 -0
  165. package/msl/Overexposure.metal +130 -0
  166. package/msl/PolkaDotsCurtain.metal +112 -0
  167. package/msl/PuzzleRight.metal +262 -0
  168. package/msl/Radial.metal +102 -0
  169. package/msl/Rectangle.metal +129 -0
  170. package/msl/RectangleCrop.metal +127 -0
  171. package/msl/Revolve_Left.metal +363 -0
  172. package/msl/Rolls.metal +209 -0
  173. package/msl/RotateScaleVanish.metal +227 -0
  174. package/msl/SimpleFlip.metal +110 -0
  175. package/msl/SimpleZoom.metal +116 -0
  176. package/msl/SimpleZoomOut.metal +127 -0
  177. package/msl/Slides.metal +244 -0
  178. package/msl/StarWipe.metal +204 -0
  179. package/msl/StaticFade.metal +193 -0
  180. package/msl/StereoViewer.metal +707 -0
  181. package/msl/StripDatamoshGlitch.metal +828 -0
  182. package/msl/Swirl.metal +152 -0
  183. package/msl/TVStatic.metal +136 -0
  184. package/msl/TilesWave.metal +290 -0
  185. package/msl/TopBottom.metal +138 -0
  186. package/msl/VerticalClose.metal +100 -0
  187. package/msl/VerticalOpen.metal +103 -0
  188. package/msl/WaterDrop.metal +126 -0
  189. package/msl/ZoomInCircles.metal +169 -0
  190. package/msl/ZoomLeftWipe.metal +152 -0
  191. package/msl/ZoomRigthWipe.metal +152 -0
  192. package/msl/angular.metal +111 -0
  193. package/msl/burn.metal +103 -0
  194. package/msl/burn0.metal +236 -0
  195. package/msl/cannabisleaf.metal +120 -0
  196. package/msl/chessboard.metal +144 -0
  197. package/msl/circle.metal +115 -0
  198. package/msl/circleopen.metal +124 -0
  199. package/msl/colorphase.metal +106 -0
  200. package/msl/coord-from-in.metal +111 -0
  201. package/msl/crosshatch.metal +126 -0
  202. package/msl/crosswarp.metal +103 -0
  203. package/msl/cube.metal +259 -0
  204. package/msl/directional-easing.metal +111 -0
  205. package/msl/directionalwarp.metal +121 -0
  206. package/msl/directionalwipe.metal +120 -0
  207. package/msl/displacement.metal +129 -0
  208. package/msl/dissolve.metal +146 -0
  209. package/msl/doorway.metal +210 -0
  210. package/msl/fade.metal +95 -0
  211. package/msl/fadecolor.metal +104 -0
  212. package/msl/fadegrayscale.metal +123 -0
  213. package/msl/flyeye.metal +133 -0
  214. package/msl/fragment.metal +276 -0
  215. package/msl/heart.metal +134 -0
  216. package/msl/hexagonalize.metal +274 -0
  217. package/msl/kaleidoscope.metal +157 -0
  218. package/msl/luma.metal +113 -0
  219. package/msl/luminance_melt.metal +337 -0
  220. package/msl/morph.metal +131 -0
  221. package/msl/mosaic_transition.metal +137 -0
  222. package/msl/multiply_blend.metal +127 -0
  223. package/msl/old_tv_lost_signal.metal +172 -0
  224. package/msl/parametric_glitch.metal +152 -0
  225. package/msl/perlin.metal +206 -0
  226. package/msl/pinwheel.metal +112 -0
  227. package/msl/pixelize.metal +134 -0
  228. package/msl/polar_function.metal +116 -0
  229. package/msl/powerKaleido.metal +304 -0
  230. package/msl/randomNoisex.metal +115 -0
  231. package/msl/randomsquares.metal +118 -0
  232. package/msl/ripple.metal +113 -0
  233. package/msl/rotateTransition.metal +116 -0
  234. package/msl/rotate_scale_fade.metal +167 -0
  235. package/msl/scale-in.metal +111 -0
  236. package/msl/splitSlideInHorizontal.metal +147 -0
  237. package/msl/splitSlideInOutHorizontal.metal +138 -0
  238. package/msl/splitSlideInOutVertical.metal +138 -0
  239. package/msl/splitSlideInVertical.metal +144 -0
  240. package/msl/splitSlideOutHorizontal.metal +131 -0
  241. package/msl/splitSlideOutVertical.metal +131 -0
  242. package/msl/squareswire.metal +144 -0
  243. package/msl/squeeze.metal +133 -0
  244. package/msl/static_wipe.metal +147 -0
  245. package/msl/swap.metal +256 -0
  246. package/msl/tangentMotionBlur.metal +583 -0
  247. package/msl/undulatingBurnOut.metal +217 -0
  248. package/msl/wind.metal +131 -0
  249. package/msl/windowblinds.metal +107 -0
  250. package/msl/windowslice.metal +108 -0
  251. package/msl/wipeDown.metal +105 -0
  252. package/msl/wipeLeft.metal +105 -0
  253. package/msl/wipeRight.metal +105 -0
  254. package/msl/wipeUp.metal +105 -0
  255. package/msl/x_axis_translation.metal +110 -0
  256. package/msl/zoomInOut.metal +125 -0
  257. package/package.json +1 -1
  258. package/skills/gl-transitions/SKILL.md +46 -0
  259. package/skills/gl-transitions/references/catalog.md +224 -0
  260. package/skills/gl-transitions/references/skia.md +118 -0
  261. package/skills/gl-transitions/references/video.md +71 -0
  262. package/skills/gl-transitions/references/webgl.md +122 -0
  263. package/sksl/index.d.ts +4 -0
  264. package/sksl/index.js +1 -0
  265. package/wgsl/AdvancedMosaic.wgsl +108 -0
  266. package/wgsl/BlockDissolve.wgsl +78 -0
  267. package/wgsl/BookFlip.wgsl +157 -0
  268. package/wgsl/Bounce.wgsl +98 -0
  269. package/wgsl/BowTieHorizontal.wgsl +331 -0
  270. package/wgsl/BowTieVertical.wgsl +331 -0
  271. package/wgsl/BowTieWithParameter.wgsl +313 -0
  272. package/wgsl/Box.wgsl +176 -0
  273. package/wgsl/ButterflyWaveScrawler.wgsl +158 -0
  274. package/wgsl/CircleCrop.wgsl +88 -0
  275. package/wgsl/ColourDistance.wgsl +82 -0
  276. package/wgsl/CrazyParametricFun.wgsl +111 -0
  277. package/wgsl/CrossZoom.wgsl +219 -0
  278. package/wgsl/DefocusBlur.wgsl +269 -0
  279. package/wgsl/Directional.wgsl +79 -0
  280. package/wgsl/DirectionalScaled.wgsl +117 -0
  281. package/wgsl/DoomScreenTransition.wgsl +171 -0
  282. package/wgsl/Dreamy.wgsl +102 -0
  283. package/wgsl/DreamyZoom.wgsl +154 -0
  284. package/wgsl/Drop_Zone_Flicker.wgsl +513 -0
  285. package/wgsl/EdgeTransition.wgsl +216 -0
  286. package/wgsl/FilmBurn.wgsl +361 -0
  287. package/wgsl/Fold.wgsl +82 -0
  288. package/wgsl/GlitchDisplace.wgsl +327 -0
  289. package/wgsl/GlitchMemories.wgsl +118 -0
  290. package/wgsl/GridFlip.wgsl +250 -0
  291. package/wgsl/HSVfade.wgsl +131 -0
  292. package/wgsl/HorizontalClose.wgsl +72 -0
  293. package/wgsl/HorizontalOpen.wgsl +75 -0
  294. package/wgsl/InvertedPageCurl.wgsl +690 -0
  295. package/wgsl/LeftRight.wgsl +109 -0
  296. package/wgsl/LinearBlur.wgsl +131 -0
  297. package/wgsl/Mosaic.wgsl +174 -0
  298. package/wgsl/Overexposure.wgsl +102 -0
  299. package/wgsl/PolkaDotsCurtain.wgsl +83 -0
  300. package/wgsl/PuzzleRight.wgsl +230 -0
  301. package/wgsl/Radial.wgsl +74 -0
  302. package/wgsl/Rectangle.wgsl +100 -0
  303. package/wgsl/RectangleCrop.wgsl +98 -0
  304. package/wgsl/Revolve_Left.wgsl +314 -0
  305. package/wgsl/Rolls.wgsl +181 -0
  306. package/wgsl/RotateScaleVanish.wgsl +199 -0
  307. package/wgsl/SimpleFlip.wgsl +82 -0
  308. package/wgsl/SimpleZoom.wgsl +85 -0
  309. package/wgsl/SimpleZoomOut.wgsl +96 -0
  310. package/wgsl/Slides.wgsl +216 -0
  311. package/wgsl/StarWipe.wgsl +169 -0
  312. package/wgsl/StaticFade.wgsl +159 -0
  313. package/wgsl/StereoViewer.wgsl +625 -0
  314. package/wgsl/StripDatamoshGlitch.wgsl +755 -0
  315. package/wgsl/Swirl.wgsl +124 -0
  316. package/wgsl/TVStatic.wgsl +106 -0
  317. package/wgsl/TilesWave.wgsl +262 -0
  318. package/wgsl/TopBottom.wgsl +109 -0
  319. package/wgsl/VerticalClose.wgsl +72 -0
  320. package/wgsl/VerticalOpen.wgsl +75 -0
  321. package/wgsl/WaterDrop.wgsl +98 -0
  322. package/wgsl/ZoomInCircles.wgsl +138 -0
  323. package/wgsl/ZoomLeftWipe.wgsl +121 -0
  324. package/wgsl/ZoomRigthWipe.wgsl +121 -0
  325. package/wgsl/angular.wgsl +83 -0
  326. package/wgsl/burn.wgsl +74 -0
  327. package/wgsl/burn0.wgsl +198 -0
  328. package/wgsl/cannabisleaf.wgsl +92 -0
  329. package/wgsl/chessboard.wgsl +116 -0
  330. package/wgsl/circle.wgsl +87 -0
  331. package/wgsl/circleopen.wgsl +96 -0
  332. package/wgsl/colorphase.wgsl +77 -0
  333. package/wgsl/coord-from-in.wgsl +83 -0
  334. package/wgsl/crosshatch.wgsl +96 -0
  335. package/wgsl/crosswarp.wgsl +75 -0
  336. package/wgsl/cube.wgsl +217 -0
  337. package/wgsl/directional-easing.wgsl +83 -0
  338. package/wgsl/directionalwarp.wgsl +92 -0
  339. package/wgsl/directionalwipe.wgsl +91 -0
  340. package/wgsl/displacement.wgsl +96 -0
  341. package/wgsl/dissolve.wgsl +116 -0
  342. package/wgsl/doorway.wgsl +174 -0
  343. package/wgsl/fade.wgsl +67 -0
  344. package/wgsl/fadecolor.wgsl +75 -0
  345. package/wgsl/fadegrayscale.wgsl +93 -0
  346. package/wgsl/flyeye.wgsl +105 -0
  347. package/wgsl/fragment.wgsl +227 -0
  348. package/wgsl/heart.wgsl +103 -0
  349. package/wgsl/hexagonalize.wgsl +238 -0
  350. package/wgsl/kaleidoscope.wgsl +124 -0
  351. package/wgsl/luma.wgsl +80 -0
  352. package/wgsl/luminance_melt.wgsl +299 -0
  353. package/wgsl/morph.wgsl +103 -0
  354. package/wgsl/mosaic_transition.wgsl +107 -0
  355. package/wgsl/multiply_blend.wgsl +96 -0
  356. package/wgsl/old_tv_lost_signal.wgsl +142 -0
  357. package/wgsl/parametric_glitch.wgsl +124 -0
  358. package/wgsl/perlin.wgsl +174 -0
  359. package/wgsl/pinwheel.wgsl +84 -0
  360. package/wgsl/pixelize.wgsl +105 -0
  361. package/wgsl/polar_function.wgsl +88 -0
  362. package/wgsl/powerKaleido.wgsl +254 -0
  363. package/wgsl/randomNoisex.wgsl +85 -0
  364. package/wgsl/randomsquares.wgsl +87 -0
  365. package/wgsl/ripple.wgsl +85 -0
  366. package/wgsl/rotateTransition.wgsl +85 -0
  367. package/wgsl/rotate_scale_fade.wgsl +138 -0
  368. package/wgsl/scale-in.wgsl +79 -0
  369. package/wgsl/splitSlideInHorizontal.wgsl +118 -0
  370. package/wgsl/splitSlideInOutHorizontal.wgsl +109 -0
  371. package/wgsl/splitSlideInOutVertical.wgsl +109 -0
  372. package/wgsl/splitSlideInVertical.wgsl +115 -0
  373. package/wgsl/splitSlideOutHorizontal.wgsl +102 -0
  374. package/wgsl/splitSlideOutVertical.wgsl +102 -0
  375. package/wgsl/squareswire.wgsl +115 -0
  376. package/wgsl/squeeze.wgsl +105 -0
  377. package/wgsl/static_wipe.wgsl +117 -0
  378. package/wgsl/swap.wgsl +218 -0
  379. package/wgsl/tangentMotionBlur.wgsl +503 -0
  380. package/wgsl/undulatingBurnOut.wgsl +181 -0
  381. package/wgsl/wind.wgsl +101 -0
  382. package/wgsl/windowblinds.wgsl +79 -0
  383. package/wgsl/windowslice.wgsl +80 -0
  384. package/wgsl/wipeDown.wgsl +77 -0
  385. package/wgsl/wipeLeft.wgsl +77 -0
  386. package/wgsl/wipeRight.wgsl +77 -0
  387. package/wgsl/wipeUp.wgsl +77 -0
  388. package/wgsl/x_axis_translation.wgsl +82 -0
  389. package/wgsl/zoomInOut.wgsl +94 -0
@@ -0,0 +1,120 @@
1
+ // cannabisleaf — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/cannabisleaf.glsl
2
+ // Author: @Flexi23
3
+ // License: MIT
4
+ // Description: A cannabis-leaf shape grows from the center to reveal the incoming image
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
+ };
17
+
18
+ metal::float4 getToColor(
19
+ thread metal::float2& uv,
20
+ metal::sampler _sampler,
21
+ metal::texture2d<float, metal::access::sample> _to
22
+ ) {
23
+ float _e25 = uv[0u];
24
+ float _e27 = uv[1u];
25
+ metal::float4 _e30 = _to.sample(_sampler, metal::float2(_e25, 1.0 - _e27), metal::level(0.0));
26
+ return _e30;
27
+ }
28
+
29
+ metal::float4 getFromColor(
30
+ thread metal::float2& uv_1,
31
+ metal::texture2d<float, metal::access::sample> _from,
32
+ metal::sampler _sampler
33
+ ) {
34
+ float _e25 = uv_1[0u];
35
+ float _e27 = uv_1[1u];
36
+ metal::float4 _e30 = _from.sample(_sampler, metal::float2(_e25, 1.0 - _e27), metal::level(0.0));
37
+ return _e30;
38
+ }
39
+
40
+ metal::float4 transition(
41
+ thread metal::float2& uv_2,
42
+ metal::texture2d<float, metal::access::sample> _from,
43
+ metal::sampler _sampler,
44
+ metal::texture2d<float, metal::access::sample> _to,
45
+ constant Uniforms& uniforms
46
+ ) {
47
+ metal::float2 param = {};
48
+ metal::float2 leaf_uv = {};
49
+ float r = {};
50
+ float o = {};
51
+ metal::float2 param_1 = {};
52
+ metal::float2 param_2 = {};
53
+ float _e31 = uniforms.progress;
54
+ if (_e31 == 0.0) {
55
+ metal::float2 _e33 = uv_2;
56
+ param = _e33;
57
+ metal::float4 _e34 = getFromColor(param, _from, _sampler);
58
+ return _e34;
59
+ }
60
+ metal::float2 _e35 = uv_2;
61
+ float _e40 = uniforms.progress;
62
+ leaf_uv = ((_e35 - metal::float2(0.5, 0.5)) / metal::float2(10.0)) / metal::float2(metal::pow(_e40, 3.5));
63
+ float _e45 = leaf_uv[1u];
64
+ leaf_uv[1u] = _e45 + 0.35;
65
+ r = 0.18;
66
+ float _e49 = leaf_uv[1u];
67
+ float _e51 = leaf_uv[0u];
68
+ o = metal::atan2(_e49, _e51);
69
+ metal::float2 _e53 = uv_2;
70
+ param_1 = _e53;
71
+ metal::float4 _e54 = getFromColor(param_1, _from, _sampler);
72
+ metal::float2 _e55 = uv_2;
73
+ param_2 = _e55;
74
+ metal::float4 _e56 = getToColor(param_2, _sampler, _to);
75
+ metal::float2 _e57 = leaf_uv;
76
+ float _e60 = r;
77
+ float _e61 = o;
78
+ float _e65 = o;
79
+ float _e71 = o;
80
+ float _e77 = o;
81
+ return metal::mix(_e54, _e56, metal::float4(1.0 - metal::step((1.0 - metal::length(_e57)) + ((((_e60 * (1.0 + metal::sin(_e61))) * (1.0 + (0.9 * metal::cos(8.0 * _e65)))) * (1.0 + (0.1 * metal::cos(24.0 * _e71)))) * (0.9 + (0.05 * metal::cos(200.0 * _e77)))), 1.0)));
82
+ }
83
+
84
+ void main_1(
85
+ metal::texture2d<float, metal::access::sample> _from,
86
+ metal::sampler _sampler,
87
+ metal::texture2d<float, metal::access::sample> _to,
88
+ constant Uniforms& uniforms,
89
+ thread metal::float4& _fragColor,
90
+ thread metal::float2& _uv_1
91
+ ) {
92
+ metal::float2 param_3 = {};
93
+ metal::float2 _e24 = _uv_1;
94
+ param_3 = _e24;
95
+ metal::float4 _e25 = transition(param_3, _from, _sampler, _to, uniforms);
96
+ _fragColor = _e25;
97
+ return;
98
+ }
99
+
100
+ struct main_Input {
101
+ metal::float2 _uv [[user(loc0), center_perspective]];
102
+ };
103
+ struct main_Output {
104
+ metal::float4 member [[color(0)]];
105
+ };
106
+ fragment main_Output main_(
107
+ main_Input varyings [[stage_in]]
108
+ , metal::texture2d<float, metal::access::sample> _from [[texture(0)]]
109
+ , metal::sampler _sampler [[sampler(0)]]
110
+ , metal::texture2d<float, metal::access::sample> _to [[texture(1)]]
111
+ , constant Uniforms& uniforms [[buffer(0)]]
112
+ ) {
113
+ metal::float4 _fragColor = {};
114
+ metal::float2 _uv_1 = {};
115
+ const auto _uv = varyings._uv;
116
+ _uv_1 = _uv;
117
+ main_1(_from, _sampler, _to, uniforms, _fragColor, _uv_1);
118
+ metal::float4 _e3 = _fragColor;
119
+ return main_Output { _e3 };
120
+ }
@@ -0,0 +1,144 @@
1
+ // chessboard — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/chessboard.glsl
2
+ // Author: lql
3
+ // License: MIT
4
+ // Description: A chessboard pattern of squares reveals the incoming image
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 grid_num;
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 _e16 = uv[0u];
25
+ float _e18 = uv[1u];
26
+ metal::float4 _e21 = _to.sample(_sampler, metal::float2(_e16, 1.0 - _e18), metal::level(0.0));
27
+ return _e21;
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 _e16 = uv_1[0u];
36
+ float _e18 = uv_1[1u];
37
+ metal::float4 _e21 = _from.sample(_sampler, metal::float2(_e16, 1.0 - _e18), metal::level(0.0));
38
+ return _e21;
39
+ }
40
+
41
+ metal::float4 transition(
42
+ thread metal::float2& uv_2,
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::float2 st = {};
49
+ metal::float2 idx = {};
50
+ metal::float2 grid = {};
51
+ metal::float4 a = {};
52
+ metal::float2 param = {};
53
+ metal::float4 b = {};
54
+ metal::float2 param_1 = {};
55
+ float checker = {};
56
+ float mixFactor = {};
57
+ float local = {};
58
+ float local_1 = {};
59
+ metal::float2 _e26 = uv_2;
60
+ float _e28 = uniforms.grid_num;
61
+ st = _e26 * _e28;
62
+ metal::float2 _e30 = st;
63
+ idx = metal::floor(_e30);
64
+ metal::float2 _e32 = st;
65
+ grid = metal::fract(_e32);
66
+ metal::float2 _e34 = uv_2;
67
+ param = _e34;
68
+ metal::float4 _e35 = getFromColor(param, _from, _sampler);
69
+ a = _e35;
70
+ metal::float2 _e36 = uv_2;
71
+ param_1 = _e36;
72
+ metal::float4 _e37 = getToColor(param_1, _sampler, _to);
73
+ b = _e37;
74
+ float _e39 = idx[0u];
75
+ float _e41 = idx[1u];
76
+ float _e42 = _e39 + _e41;
77
+ checker = _e42 - (metal::floor(_e42 / 2.0) * 2.0);
78
+ float _e48 = uniforms.progress;
79
+ if (_e48 <= 0.5) {
80
+ float _e50 = checker;
81
+ if (_e50 > 0.5) {
82
+ float _e53 = grid[0u];
83
+ float _e55 = uniforms.progress;
84
+ local = metal::step(_e53, _e55 * 2.0);
85
+ } else {
86
+ local = 0.0;
87
+ }
88
+ float _e58 = local;
89
+ mixFactor = _e58;
90
+ } else {
91
+ float _e59 = checker;
92
+ if (_e59 < 0.5) {
93
+ float _e62 = grid[0u];
94
+ float _e64 = uniforms.progress;
95
+ local_1 = metal::step(_e62, (_e64 - 0.5) * 2.0);
96
+ } else {
97
+ local_1 = 1.0;
98
+ }
99
+ float _e68 = local_1;
100
+ mixFactor = _e68;
101
+ }
102
+ metal::float4 _e69 = a;
103
+ metal::float4 _e70 = b;
104
+ float _e71 = mixFactor;
105
+ return metal::mix(_e69, _e70, metal::float4(_e71));
106
+ }
107
+
108
+ void main_1(
109
+ metal::texture2d<float, metal::access::sample> _from,
110
+ metal::sampler _sampler,
111
+ metal::texture2d<float, metal::access::sample> _to,
112
+ constant Uniforms& uniforms,
113
+ thread metal::float4& _fragColor,
114
+ thread metal::float2& _uv_1
115
+ ) {
116
+ metal::float2 param_2 = {};
117
+ metal::float2 _e15 = _uv_1;
118
+ param_2 = _e15;
119
+ metal::float4 _e16 = transition(param_2, _from, _sampler, _to, uniforms);
120
+ _fragColor = _e16;
121
+ return;
122
+ }
123
+
124
+ struct main_Input {
125
+ metal::float2 _uv [[user(loc0), center_perspective]];
126
+ };
127
+ struct main_Output {
128
+ metal::float4 member [[color(0)]];
129
+ };
130
+ fragment main_Output main_(
131
+ main_Input varyings [[stage_in]]
132
+ , metal::texture2d<float, metal::access::sample> _from [[texture(0)]]
133
+ , metal::sampler _sampler [[sampler(0)]]
134
+ , metal::texture2d<float, metal::access::sample> _to [[texture(1)]]
135
+ , constant Uniforms& uniforms [[buffer(0)]]
136
+ ) {
137
+ metal::float4 _fragColor = {};
138
+ metal::float2 _uv_1 = {};
139
+ const auto _uv = varyings._uv;
140
+ _uv_1 = _uv;
141
+ main_1(_from, _sampler, _to, uniforms, _fragColor, _uv_1);
142
+ metal::float4 _e3 = _fragColor;
143
+ return main_Output { _e3 };
144
+ }
@@ -0,0 +1,115 @@
1
+ // circle — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/circle.glsl
2
+ // Author: Fernando Kuteken
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
+ metal::float2 center;
17
+ metal::float3 backColor;
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 _e17 = uv[0u];
26
+ float _e19 = uv[1u];
27
+ metal::float4 _e22 = _to.sample(_sampler, metal::float2(_e17, 1.0 - _e19), metal::level(0.0));
28
+ return _e22;
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 _e17 = uv_1[0u];
37
+ float _e19 = uv_1[1u];
38
+ metal::float4 _e22 = _from.sample(_sampler, metal::float2(_e17, 1.0 - _e19), metal::level(0.0));
39
+ return _e22;
40
+ }
41
+
42
+ metal::float4 transition(
43
+ thread metal::float2& uv_2,
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
+ float distance = {};
50
+ float radius = {};
51
+ metal::float2 param = {};
52
+ metal::float2 param_1 = {};
53
+ metal::float2 _e20 = uv_2;
54
+ metal::float2 _e22 = uniforms.center;
55
+ distance = metal::length(_e20 - _e22);
56
+ float _e26 = uniforms.progress;
57
+ radius = 2.828427 * metal::abs(_e26 - 0.5);
58
+ float _e30 = distance;
59
+ float _e31 = radius;
60
+ if (_e30 > _e31) {
61
+ metal::float3 _e34 = uniforms.backColor;
62
+ return metal::float4(_e34.x, _e34.y, _e34.z, 1.0);
63
+ } else {
64
+ float _e40 = uniforms.progress;
65
+ if (_e40 < 0.5) {
66
+ metal::float2 _e42 = uv_2;
67
+ param = _e42;
68
+ metal::float4 _e43 = getFromColor(param, _from, _sampler);
69
+ return _e43;
70
+ } else {
71
+ metal::float2 _e44 = uv_2;
72
+ param_1 = _e44;
73
+ metal::float4 _e45 = getToColor(param_1, _sampler, _to);
74
+ return _e45;
75
+ }
76
+ }
77
+ }
78
+
79
+ void main_1(
80
+ metal::texture2d<float, metal::access::sample> _from,
81
+ metal::sampler _sampler,
82
+ metal::texture2d<float, metal::access::sample> _to,
83
+ constant Uniforms& uniforms,
84
+ thread metal::float4& _fragColor,
85
+ thread metal::float2& _uv_1
86
+ ) {
87
+ metal::float2 param_2 = {};
88
+ metal::float2 _e16 = _uv_1;
89
+ param_2 = _e16;
90
+ metal::float4 _e17 = transition(param_2, _from, _sampler, _to, uniforms);
91
+ _fragColor = _e17;
92
+ return;
93
+ }
94
+
95
+ struct main_Input {
96
+ metal::float2 _uv [[user(loc0), center_perspective]];
97
+ };
98
+ struct main_Output {
99
+ metal::float4 member [[color(0)]];
100
+ };
101
+ fragment main_Output main_(
102
+ main_Input varyings [[stage_in]]
103
+ , metal::texture2d<float, metal::access::sample> _from [[texture(0)]]
104
+ , metal::sampler _sampler [[sampler(0)]]
105
+ , metal::texture2d<float, metal::access::sample> _to [[texture(1)]]
106
+ , constant Uniforms& uniforms [[buffer(0)]]
107
+ ) {
108
+ metal::float4 _fragColor = {};
109
+ metal::float2 _uv_1 = {};
110
+ const auto _uv = varyings._uv;
111
+ _uv_1 = _uv;
112
+ main_1(_from, _sampler, _to, uniforms, _fragColor, _uv_1);
113
+ metal::float4 _e3 = _fragColor;
114
+ return main_Output { _e3 };
115
+ }
@@ -0,0 +1,124 @@
1
+ // circleopen — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/circleopen.glsl
2
+ // Author: gre
3
+ // License: MIT
4
+ // Description: A soft-edged circle opens from the center to reveal the incoming image
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 smoothness;
17
+ int opening;
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& uv_2,
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
+ float x = {};
50
+ float local = {};
51
+ float m = {};
52
+ metal::float2 param = {};
53
+ metal::float2 param_1 = {};
54
+ float local_1 = {};
55
+ int _e24 = uniforms.opening;
56
+ if (_e24 != 0) {
57
+ float _e27 = uniforms.progress;
58
+ local = _e27;
59
+ } else {
60
+ float _e29 = uniforms.progress;
61
+ local = 1.0 - _e29;
62
+ }
63
+ float _e31 = local;
64
+ x = _e31;
65
+ float _e33 = uniforms.smoothness;
66
+ metal::float2 _e35 = uv_2;
67
+ float _e38 = x;
68
+ float _e40 = uniforms.smoothness;
69
+ m = metal::smoothstep(-(_e33), 0.0, (1.4142135 * metal::distance(metal::float2(0.5, 0.5), _e35)) - (_e38 * (1.0 + _e40)));
70
+ metal::float2 _e45 = uv_2;
71
+ param = _e45;
72
+ metal::float4 _e46 = getFromColor(param, _from, _sampler);
73
+ metal::float2 _e47 = uv_2;
74
+ param_1 = _e47;
75
+ metal::float4 _e48 = getToColor(param_1, _sampler, _to);
76
+ int _e50 = uniforms.opening;
77
+ if (_e50 != 0) {
78
+ float _e52 = m;
79
+ local_1 = 1.0 - _e52;
80
+ } else {
81
+ float _e54 = m;
82
+ local_1 = _e54;
83
+ }
84
+ float _e55 = local_1;
85
+ return metal::mix(_e46, _e48, metal::float4(_e55));
86
+ }
87
+
88
+ void main_1(
89
+ metal::texture2d<float, metal::access::sample> _from,
90
+ metal::sampler _sampler,
91
+ metal::texture2d<float, metal::access::sample> _to,
92
+ constant Uniforms& uniforms,
93
+ thread metal::float4& _fragColor,
94
+ thread metal::float2& _uv_1
95
+ ) {
96
+ metal::float2 param_2 = {};
97
+ metal::float2 _e17 = _uv_1;
98
+ param_2 = _e17;
99
+ metal::float4 _e18 = transition(param_2, _from, _sampler, _to, uniforms);
100
+ _fragColor = _e18;
101
+ return;
102
+ }
103
+
104
+ struct main_Input {
105
+ metal::float2 _uv [[user(loc0), center_perspective]];
106
+ };
107
+ struct main_Output {
108
+ metal::float4 member [[color(0)]];
109
+ };
110
+ fragment main_Output main_(
111
+ main_Input varyings [[stage_in]]
112
+ , metal::texture2d<float, metal::access::sample> _from [[texture(0)]]
113
+ , metal::sampler _sampler [[sampler(0)]]
114
+ , metal::texture2d<float, metal::access::sample> _to [[texture(1)]]
115
+ , constant Uniforms& uniforms [[buffer(0)]]
116
+ ) {
117
+ metal::float4 _fragColor = {};
118
+ metal::float2 _uv_1 = {};
119
+ const auto _uv = varyings._uv;
120
+ _uv_1 = _uv;
121
+ main_1(_from, _sampler, _to, uniforms, _fragColor, _uv_1);
122
+ metal::float4 _e3 = _fragColor;
123
+ return main_Output { _e3 };
124
+ }
@@ -0,0 +1,106 @@
1
+ // colorphase — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/colorphase.glsl
2
+ // Author: gre
3
+ // License: MIT
4
+ // Description: A crossfade in which each color channel changes at a different time
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 fromStep;
18
+ metal::float4 toStep;
19
+ };
20
+
21
+ metal::float4 getToColor(
22
+ thread metal::float2& uv,
23
+ metal::sampler _sampler,
24
+ metal::texture2d<float, metal::access::sample> _to
25
+ ) {
26
+ float _e15 = uv[0u];
27
+ float _e17 = uv[1u];
28
+ metal::float4 _e20 = _to.sample(_sampler, metal::float2(_e15, 1.0 - _e17), metal::level(0.0));
29
+ return _e20;
30
+ }
31
+
32
+ metal::float4 getFromColor(
33
+ thread metal::float2& uv_1,
34
+ metal::texture2d<float, metal::access::sample> _from,
35
+ metal::sampler _sampler
36
+ ) {
37
+ float _e15 = uv_1[0u];
38
+ float _e17 = uv_1[1u];
39
+ metal::float4 _e20 = _from.sample(_sampler, metal::float2(_e15, 1.0 - _e17), metal::level(0.0));
40
+ return _e20;
41
+ }
42
+
43
+ metal::float4 transition(
44
+ thread metal::float2& uv_2,
45
+ metal::texture2d<float, metal::access::sample> _from,
46
+ metal::sampler _sampler,
47
+ metal::texture2d<float, metal::access::sample> _to,
48
+ constant Uniforms& uniforms
49
+ ) {
50
+ metal::float4 a = {};
51
+ metal::float2 param = {};
52
+ metal::float4 b = {};
53
+ metal::float2 param_1 = {};
54
+ metal::float2 _e18 = uv_2;
55
+ param = _e18;
56
+ metal::float4 _e19 = getFromColor(param, _from, _sampler);
57
+ a = _e19;
58
+ metal::float2 _e20 = uv_2;
59
+ param_1 = _e20;
60
+ metal::float4 _e21 = getToColor(param_1, _sampler, _to);
61
+ b = _e21;
62
+ metal::float4 _e22 = a;
63
+ metal::float4 _e23 = b;
64
+ metal::float4 _e25 = uniforms.fromStep;
65
+ metal::float4 _e27 = uniforms.toStep;
66
+ float _e29 = uniforms.progress;
67
+ return metal::mix(_e22, _e23, metal::smoothstep(_e25, _e27, metal::float4(_e29)));
68
+ }
69
+
70
+ void main_1(
71
+ metal::texture2d<float, metal::access::sample> _from,
72
+ metal::sampler _sampler,
73
+ metal::texture2d<float, metal::access::sample> _to,
74
+ constant Uniforms& uniforms,
75
+ thread metal::float4& _fragColor,
76
+ thread metal::float2& _uv_1
77
+ ) {
78
+ metal::float2 param_2 = {};
79
+ metal::float2 _e14 = _uv_1;
80
+ param_2 = _e14;
81
+ metal::float4 _e15 = transition(param_2, _from, _sampler, _to, uniforms);
82
+ _fragColor = _e15;
83
+ return;
84
+ }
85
+
86
+ struct main_Input {
87
+ metal::float2 _uv [[user(loc0), center_perspective]];
88
+ };
89
+ struct main_Output {
90
+ metal::float4 member [[color(0)]];
91
+ };
92
+ fragment main_Output main_(
93
+ main_Input varyings [[stage_in]]
94
+ , metal::texture2d<float, metal::access::sample> _from [[texture(0)]]
95
+ , metal::sampler _sampler [[sampler(0)]]
96
+ , metal::texture2d<float, metal::access::sample> _to [[texture(1)]]
97
+ , constant Uniforms& uniforms [[buffer(0)]]
98
+ ) {
99
+ metal::float4 _fragColor = {};
100
+ metal::float2 _uv_1 = {};
101
+ const auto _uv = varyings._uv;
102
+ _uv_1 = _uv;
103
+ main_1(_from, _sampler, _to, uniforms, _fragColor, _uv_1);
104
+ metal::float4 _e3 = _fragColor;
105
+ return main_Output { _e3 };
106
+ }