Shadertoy To Flutter

Ports Shadertoy GLSL shaders into Flutter .frag files that actually compile and load.

Autor: FlutterFlow · FlutterFlow/shadertoy_to_flutter_skill

Testowano · Działa ★ 9.6/10

Shadertoy To Flutter — Ports Shadertoy GLSL shaders into Flutter .frag files that actually compile and load.

Co robi ten skill

Converts a pasted Shadertoy fragment shader into a Flutter-compatible .frag file for FragmentProgram/Impeller, handling the entry-point rewrite, iResolution/iTime/iChannel* uniform substitutions, fill-vs-wrap classification, and Flutter/SkSL-specific restrictions (no #version, no array initializers, no integer min/max/clamp). Triggers when a user pastes or links a Shadertoy shader and wants it running in Flutter, or has a .frag file failing to compile because of leftover Shadertoy constructs.

Raport z testu

Ran a real port of the standard Shadertoy 'hello world' cosine-palette shader: the baseline (no skill) kept a #version directive and gl_FragCoord/iResolution/iTime uniform names, which Flutter's Impeller compiler rejects or silently mismatches outright per Flutter's own docs; the skill's output dropped #version, added the flutter/runtime_effect.glsl include, and renamed to uSize/uTime/FlutterFragCoord() per its documented binding rules -- a concrete compile-or-not difference, not just style.

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

Instalacja

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

Komendy i przykładowe prompty

  • /shadertoy-to-flutterPorts Shadertoy GLSL shaders into Flutter .frag files that actually compile and load.

Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):

  • 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