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,121 @@
1
+ // directionalwarp — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/directionalwarp.glsl
2
+ // Author: pschroen
3
+ // License: MIT
4
+ // Description: A diagonal wipe with a warped, smeared edge
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
+ char _pad3[4];
18
+ metal::float2 direction;
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 _e17 = uv[0u];
27
+ float _e19 = uv[1u];
28
+ metal::float4 _e22 = _to.sample(_sampler, metal::float2(_e17, 1.0 - _e19), metal::level(0.0));
29
+ return _e22;
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 _e17 = uv_1[0u];
38
+ float _e19 = uv_1[1u];
39
+ metal::float4 _e22 = _from.sample(_sampler, metal::float2(_e17, 1.0 - _e19), metal::level(0.0));
40
+ return _e22;
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::float2 v = {};
51
+ float d = {};
52
+ float m = {};
53
+ metal::float2 param = {};
54
+ metal::float2 param_1 = {};
55
+ metal::float2 _e22 = uniforms.direction;
56
+ v = metal::normalize(_e22);
57
+ float _e25 = v[0u];
58
+ float _e28 = v[1u];
59
+ metal::float2 _e31 = v;
60
+ v = _e31 / metal::float2(metal::abs(_e25) + metal::abs(_e28));
61
+ float _e35 = v[0u];
62
+ float _e38 = v[1u];
63
+ d = (_e35 * 0.5) + (_e38 * 0.5);
64
+ float _e42 = uniforms.smoothness;
65
+ float _e45 = v[0u];
66
+ float _e47 = uv_2[0u];
67
+ float _e50 = v[1u];
68
+ float _e52 = uv_2[1u];
69
+ float _e55 = d;
70
+ float _e58 = uniforms.progress;
71
+ float _e60 = uniforms.smoothness;
72
+ m = 1.0 - metal::smoothstep(-(_e42), 0.0, ((_e45 * _e47) + (_e50 * _e52)) - ((_e55 - 0.5) + (_e58 * (1.0 + _e60))));
73
+ metal::float2 _e67 = uv_2;
74
+ float _e70 = m;
75
+ param = ((_e67 - metal::float2(0.5)) * (1.0 - _e70)) + metal::float2(0.5);
76
+ metal::float4 _e75 = getFromColor(param, _from, _sampler);
77
+ metal::float2 _e76 = uv_2;
78
+ float _e79 = m;
79
+ param_1 = ((_e76 - metal::float2(0.5)) * _e79) + metal::float2(0.5);
80
+ metal::float4 _e83 = getToColor(param_1, _sampler, _to);
81
+ float _e84 = m;
82
+ return metal::mix(_e75, _e83, metal::float4(_e84));
83
+ }
84
+
85
+ void main_1(
86
+ metal::texture2d<float, metal::access::sample> _from,
87
+ metal::sampler _sampler,
88
+ metal::texture2d<float, metal::access::sample> _to,
89
+ constant Uniforms& uniforms,
90
+ thread metal::float4& _fragColor,
91
+ thread metal::float2& _uv_1
92
+ ) {
93
+ metal::float2 param_2 = {};
94
+ metal::float2 _e16 = _uv_1;
95
+ param_2 = _e16;
96
+ metal::float4 _e17 = transition(param_2, _from, _sampler, _to, uniforms);
97
+ _fragColor = _e17;
98
+ return;
99
+ }
100
+
101
+ struct main_Input {
102
+ metal::float2 _uv [[user(loc0), center_perspective]];
103
+ };
104
+ struct main_Output {
105
+ metal::float4 member [[color(0)]];
106
+ };
107
+ fragment main_Output main_(
108
+ main_Input varyings [[stage_in]]
109
+ , metal::texture2d<float, metal::access::sample> _from [[texture(0)]]
110
+ , metal::sampler _sampler [[sampler(0)]]
111
+ , metal::texture2d<float, metal::access::sample> _to [[texture(1)]]
112
+ , constant Uniforms& uniforms [[buffer(0)]]
113
+ ) {
114
+ metal::float4 _fragColor = {};
115
+ metal::float2 _uv_1 = {};
116
+ const auto _uv = varyings._uv;
117
+ _uv_1 = _uv;
118
+ main_1(_from, _sampler, _to, uniforms, _fragColor, _uv_1);
119
+ metal::float4 _e3 = _fragColor;
120
+ return main_Output { _e3 };
121
+ }
@@ -0,0 +1,120 @@
1
+ // directionalwipe — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/directionalwipe.glsl
2
+ // Author: gre
3
+ // License: MIT
4
+ // Description: A soft-edged diagonal wipe
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 direction;
17
+ float smoothness;
18
+ char _pad4[4];
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 _e17 = uv[0u];
27
+ float _e19 = uv[1u];
28
+ metal::float4 _e22 = _to.sample(_sampler, metal::float2(_e17, 1.0 - _e19), metal::level(0.0));
29
+ return _e22;
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 _e17 = uv_1[0u];
38
+ float _e19 = uv_1[1u];
39
+ metal::float4 _e22 = _from.sample(_sampler, metal::float2(_e17, 1.0 - _e19), metal::level(0.0));
40
+ return _e22;
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::float2 v = {};
51
+ float d = {};
52
+ float m = {};
53
+ metal::float2 param = {};
54
+ metal::float2 param_1 = {};
55
+ metal::float2 _e22 = uniforms.direction;
56
+ v = metal::normalize(_e22);
57
+ float _e25 = v[0u];
58
+ float _e28 = v[1u];
59
+ metal::float2 _e31 = v;
60
+ v = _e31 / metal::float2(metal::abs(_e25) + metal::abs(_e28));
61
+ float _e35 = v[0u];
62
+ float _e38 = v[1u];
63
+ d = (_e35 * 0.5) + (_e38 * 0.5);
64
+ float _e42 = uniforms.progress;
65
+ float _e46 = uniforms.smoothness;
66
+ float _e49 = v[0u];
67
+ float _e51 = uv_2[0u];
68
+ float _e54 = v[1u];
69
+ float _e56 = uv_2[1u];
70
+ float _e59 = d;
71
+ float _e62 = uniforms.progress;
72
+ float _e64 = uniforms.smoothness;
73
+ m = (1.0 - metal::step(_e42, 0.0)) * (1.0 - metal::smoothstep(-(_e46), 0.0, ((_e49 * _e51) + (_e54 * _e56)) - ((_e59 - 0.5) + (_e62 * (1.0 + _e64)))));
74
+ metal::float2 _e72 = uv_2;
75
+ param = _e72;
76
+ metal::float4 _e73 = getFromColor(param, _from, _sampler);
77
+ metal::float2 _e74 = uv_2;
78
+ param_1 = _e74;
79
+ metal::float4 _e75 = getToColor(param_1, _sampler, _to);
80
+ float _e76 = m;
81
+ return metal::mix(_e73, _e75, metal::float4(_e76));
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_2 = {};
93
+ metal::float2 _e16 = _uv_1;
94
+ param_2 = _e16;
95
+ metal::float4 _e17 = transition(param_2, _from, _sampler, _to, uniforms);
96
+ _fragColor = _e17;
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,129 @@
1
+ // displacement — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/displacement.glsl
2
+ // Author: Travis Fischer
3
+ // License: MIT
4
+ // Description: A crossfade in which a displacement map (an extra grayscale texture) warps both images
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 strength;
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 _e15 = uv[0u];
25
+ float _e17 = uv[1u];
26
+ metal::float4 _e20 = _to.sample(_sampler, metal::float2(_e15, 1.0 - _e17), metal::level(0.0));
27
+ return _e20;
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 _e15 = uv_1[0u];
36
+ float _e17 = uv_1[1u];
37
+ metal::float4 _e20 = _from.sample(_sampler, metal::float2(_e15, 1.0 - _e17), metal::level(0.0));
38
+ return _e20;
39
+ }
40
+
41
+ metal::float4 _texture_displacementMap(
42
+ thread metal::float2& uv_2,
43
+ metal::sampler _sampler,
44
+ metal::texture2d<float, metal::access::sample> displacementMap
45
+ ) {
46
+ float _e15 = uv_2[0u];
47
+ float _e17 = uv_2[1u];
48
+ metal::float4 _e20 = displacementMap.sample(_sampler, metal::float2(_e15, 1.0 - _e17), metal::level(0.0));
49
+ return _e20;
50
+ }
51
+
52
+ metal::float4 transition(
53
+ thread metal::float2& uv_3,
54
+ metal::texture2d<float, metal::access::sample> _from,
55
+ metal::sampler _sampler,
56
+ metal::texture2d<float, metal::access::sample> _to,
57
+ metal::texture2d<float, metal::access::sample> displacementMap,
58
+ constant Uniforms& uniforms
59
+ ) {
60
+ float displacement = {};
61
+ metal::float2 param = {};
62
+ metal::float2 uvFrom = {};
63
+ metal::float2 uvTo = {};
64
+ metal::float2 param_1 = {};
65
+ metal::float2 param_2 = {};
66
+ metal::float2 _e20 = uv_3;
67
+ param = _e20;
68
+ metal::float4 _e21 = _texture_displacementMap(param, _sampler, displacementMap);
69
+ float _e24 = uniforms.strength;
70
+ displacement = _e21.x * _e24;
71
+ float _e27 = uv_3[0u];
72
+ float _e29 = uniforms.progress;
73
+ float _e30 = displacement;
74
+ float _e34 = uv_3[1u];
75
+ uvFrom = metal::float2(_e27 + (_e29 * _e30), _e34);
76
+ float _e37 = uv_3[0u];
77
+ float _e39 = uniforms.progress;
78
+ float _e41 = displacement;
79
+ float _e45 = uv_3[1u];
80
+ uvTo = metal::float2(_e37 - ((1.0 - _e39) * _e41), _e45);
81
+ metal::float2 _e47 = uvFrom;
82
+ param_1 = _e47;
83
+ metal::float4 _e48 = getFromColor(param_1, _from, _sampler);
84
+ metal::float2 _e49 = uvTo;
85
+ param_2 = _e49;
86
+ metal::float4 _e50 = getToColor(param_2, _sampler, _to);
87
+ float _e52 = uniforms.progress;
88
+ return metal::mix(_e48, _e50, metal::float4(_e52));
89
+ }
90
+
91
+ void main_1(
92
+ metal::texture2d<float, metal::access::sample> _from,
93
+ metal::sampler _sampler,
94
+ metal::texture2d<float, metal::access::sample> _to,
95
+ metal::texture2d<float, metal::access::sample> displacementMap,
96
+ constant Uniforms& uniforms,
97
+ thread metal::float4& _fragColor,
98
+ thread metal::float2& _uv_1
99
+ ) {
100
+ metal::float2 param_3 = {};
101
+ metal::float2 _e14 = _uv_1;
102
+ param_3 = _e14;
103
+ metal::float4 _e15 = transition(param_3, _from, _sampler, _to, displacementMap, uniforms);
104
+ _fragColor = _e15;
105
+ return;
106
+ }
107
+
108
+ struct main_Input {
109
+ metal::float2 _uv [[user(loc0), center_perspective]];
110
+ };
111
+ struct main_Output {
112
+ metal::float4 member [[color(0)]];
113
+ };
114
+ fragment main_Output main_(
115
+ main_Input varyings [[stage_in]]
116
+ , metal::texture2d<float, metal::access::sample> _from [[texture(0)]]
117
+ , metal::sampler _sampler [[sampler(0)]]
118
+ , metal::texture2d<float, metal::access::sample> _to [[texture(1)]]
119
+ , metal::texture2d<float, metal::access::sample> displacementMap [[texture(2)]]
120
+ , constant Uniforms& uniforms [[buffer(0)]]
121
+ ) {
122
+ metal::float4 _fragColor = {};
123
+ metal::float2 _uv_1 = {};
124
+ const auto _uv = varyings._uv;
125
+ _uv_1 = _uv;
126
+ main_1(_from, _sampler, _to, displacementMap, uniforms, _fragColor, _uv_1);
127
+ metal::float4 _e3 = _fragColor;
128
+ return main_Output { _e3 };
129
+ }
@@ -0,0 +1,146 @@
1
+ // dissolve — MSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/dissolve.glsl
2
+ // Author: hjm1fb
3
+ // License: MIT
4
+ // Description: The incoming image spreads over the outgoing one with a hot, glowing edge
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 uLineWidth;
17
+ char _pad3[4];
18
+ metal::float3 uSpreadClr;
19
+ metal::packed_float3 uHotClr;
20
+ float uPow;
21
+ float uIntensity;
22
+ char _pad7[12];
23
+ };
24
+
25
+ metal::float4 getToColor(
26
+ thread metal::float2& uv,
27
+ metal::sampler _sampler,
28
+ metal::texture2d<float, metal::access::sample> _to
29
+ ) {
30
+ float _e26 = uv[0u];
31
+ float _e28 = uv[1u];
32
+ metal::float4 _e31 = _to.sample(_sampler, metal::float2(_e26, 1.0 - _e28), metal::level(0.0));
33
+ return _e31;
34
+ }
35
+
36
+ metal::float4 getFromColor(
37
+ thread metal::float2& uv_1,
38
+ metal::texture2d<float, metal::access::sample> _from,
39
+ metal::sampler _sampler
40
+ ) {
41
+ float _e26 = uv_1[0u];
42
+ float _e28 = uv_1[1u];
43
+ metal::float4 _e31 = _from.sample(_sampler, metal::float2(_e26, 1.0 - _e28), metal::level(0.0));
44
+ return _e31;
45
+ }
46
+
47
+ metal::float4 transition(
48
+ thread metal::float2& uv_2,
49
+ metal::texture2d<float, metal::access::sample> _from,
50
+ metal::sampler _sampler,
51
+ metal::texture2d<float, metal::access::sample> _to,
52
+ constant Uniforms& uniforms
53
+ ) {
54
+ metal::float4 from = {};
55
+ metal::float2 param = {};
56
+ metal::float4 to = {};
57
+ metal::float2 param_1 = {};
58
+ float burn = {};
59
+ float show = {};
60
+ metal::float4 outColor = {};
61
+ float factor = {};
62
+ metal::float3 burnColor = {};
63
+ metal::float3 finalRGB = {};
64
+ metal::float2 _e35 = uv_2;
65
+ param = _e35;
66
+ metal::float4 _e36 = getFromColor(param, _from, _sampler);
67
+ from = _e36;
68
+ metal::float2 _e37 = uv_2;
69
+ param_1 = _e37;
70
+ metal::float4 _e38 = getToColor(param_1, _sampler, _to);
71
+ to = _e38;
72
+ float _e40 = from[0u];
73
+ float _e43 = from[1u];
74
+ float _e47 = from[2u];
75
+ burn = 0.5 + (0.5 * (((0.299 * _e40) + (0.587 * _e43)) + (0.114 * _e47)));
76
+ float _e52 = burn;
77
+ float _e54 = uniforms.progress;
78
+ show = _e52 - _e54;
79
+ float _e56 = show;
80
+ if (_e56 < 0.001) {
81
+ metal::float4 _e58 = to;
82
+ outColor = _e58;
83
+ } else {
84
+ float _e60 = uniforms.uLineWidth;
85
+ float _e61 = show;
86
+ factor = 1.0 - metal::smoothstep(0.0, _e60, _e61);
87
+ metal::float3 _e65 = uniforms.uSpreadClr;
88
+ metal::float3 _e67 = uniforms.uHotClr;
89
+ float _e68 = factor;
90
+ burnColor = metal::mix(_e65, _e67, metal::float3(_e68));
91
+ metal::float3 _e71 = burnColor;
92
+ float _e73 = uniforms.uPow;
93
+ float _e77 = uniforms.uIntensity;
94
+ burnColor = metal::pow(_e71, metal::float3(_e73)) * _e77;
95
+ metal::float4 _e79 = from;
96
+ metal::float3 _e81 = burnColor;
97
+ float _e82 = factor;
98
+ float _e84 = uniforms.progress;
99
+ finalRGB = metal::mix(_e79.xyz, _e81, metal::float3(_e82 * metal::step(0.0001, _e84)));
100
+ metal::float3 _e89 = finalRGB;
101
+ float _e91 = from[3u];
102
+ metal::float3 _e92 = _e89 * _e91;
103
+ float _e94 = from[3u];
104
+ outColor = metal::float4(_e92.x, _e92.y, _e92.z, _e94);
105
+ }
106
+ metal::float4 _e99 = outColor;
107
+ return _e99;
108
+ }
109
+
110
+ void main_1(
111
+ metal::texture2d<float, metal::access::sample> _from,
112
+ metal::sampler _sampler,
113
+ metal::texture2d<float, metal::access::sample> _to,
114
+ constant Uniforms& uniforms,
115
+ thread metal::float4& _fragColor,
116
+ thread metal::float2& _uv_1
117
+ ) {
118
+ metal::float2 param_2 = {};
119
+ metal::float2 _e25 = _uv_1;
120
+ param_2 = _e25;
121
+ metal::float4 _e26 = transition(param_2, _from, _sampler, _to, uniforms);
122
+ _fragColor = _e26;
123
+ return;
124
+ }
125
+
126
+ struct main_Input {
127
+ metal::float2 _uv [[user(loc0), center_perspective]];
128
+ };
129
+ struct main_Output {
130
+ metal::float4 member [[color(0)]];
131
+ };
132
+ fragment main_Output main_(
133
+ main_Input varyings [[stage_in]]
134
+ , metal::texture2d<float, metal::access::sample> _from [[texture(0)]]
135
+ , metal::sampler _sampler [[sampler(0)]]
136
+ , metal::texture2d<float, metal::access::sample> _to [[texture(1)]]
137
+ , constant Uniforms& uniforms [[buffer(0)]]
138
+ ) {
139
+ metal::float4 _fragColor = {};
140
+ metal::float2 _uv_1 = {};
141
+ const auto _uv = varyings._uv;
142
+ _uv_1 = _uv;
143
+ main_1(_from, _sampler, _to, uniforms, _fragColor, _uv_1);
144
+ metal::float4 _e3 = _fragColor;
145
+ return main_Output { _e3 };
146
+ }