Shadertoy To Flutter

Porterer Shadertoy GLSL shaders til Flutter .frag-filer, der rent faktisk kompilerer og indlæses.

Af FlutterFlow · FlutterFlow/shadertoy_to_flutter_skill

Testet · Virker ★ 9.6/10

Shadertoy To Flutter — Porterer Shadertoy GLSL shaders til Flutter .frag-filer, der rent faktisk kompilerer og indlæses.

Hvad det gør

Konverterer en indsat Shadertoy fragment shader til en Flutter-kompatibel .frag-fil til FragmentProgram/Impeller, håndterer entry-point omskrivning, iResolution/iTime/iChannel* uniform substitutioner, fill-vs-wrap klassificering, og Flutter/SkSL-specifikke begrænsninger (ingen #version, ingen array initializers, ingen integer min/max/clamp). Udløses, når en bruger indsætter eller linker en Shadertoy shader og ønsker den kørende i Flutter, eller har en .frag-fil, der fejler kompilering på grund af resterende Shadertoy-konstruktioner.

Testrapport

Kørte en reel port af den standard Shadertoy 'hello world' cosine-palette shader: baseline (ingen skill) beholdt en #version direktiv og gl_FragCoord/iResolution/iTime uniformnavne, som Flutters Impeller-compiler afviser eller tavst matcher forkert i henhold til Flutters egne dokumenter; skill'ens output droppede #version, tilføjede flutter/runtime_effect.glsl include, og omdøbte til uSize/uTime/FlutterFragCoord() i henhold til dens dokumenterede binding-regler -- en konkret compile-eller-ikke forskel, ikke kun stil.

Testet: 2026-07-15 · Claude Code 2.x (agent harness)

Installation

git clone https://github.com/FlutterFlow/shadertoy_to_flutter_skill
mkdir -p ~/.claude/skills
cp -r shadertoy_to_flutter_skill ~/.claude/skills/shadertoy-to-flutter

Kommandoer og eksempelprompter

  • /shadertoy-to-flutterPorterer Shadertoy GLSL shaders til Flutter .frag-filer, der rent faktisk kompilerer og indlæses.

Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):

  • Can you port this Shadertoy shader into a working Flutter fragment shader?
  • My .frag file won't compile in Flutter, it still references iResolution
  • Convert this GLSL mainImage function into Flutter's FragmentProgram API