Shadertoy To Flutter

Porte les shaders GLSL de Shadertoy dans des fichiers .frag Flutter qui compilent et se chargent réellement.

par FlutterFlow · FlutterFlow/shadertoy_to_flutter_skill

Testé · Fonctionne ★ 9.6/10

Shadertoy To Flutter — Porte les shaders GLSL de Shadertoy dans des fichiers .frag Flutter qui compilent et se chargent réellement.

Ce que fait

Convertit un shader de fragment Shadertoy collé en un fichier .frag compatible Flutter pour FragmentProgram/Impeller, en gérant la réécriture du point d'entrée, les substitutions d'uniformes iResolution/iTime/iChannel*, la classification fill-vs-wrap, et les restrictions spécifiques à Flutter/SkSL (pas de #version, pas d'initialiseurs de tableau, pas de min/max/clamp entiers). Se déclenche lorsqu'un utilisateur colle ou lie un shader Shadertoy et souhaite le faire fonctionner dans Flutter, ou a un fichier .frag qui ne compile pas en raison de constructions Shadertoy restantes.

Rapport de test

A exécuté un portage réel du shader standard Shadertoy 'hello world' cosine-palette : la ligne de base (sans compétence) a conservé une directive #version et les noms d'uniformes gl_FragCoord/iResolution/iTime, que le compilateur Impeller de Flutter rejette ou ne fait correspondre silencieusement que conformément aux propres documents de Flutter ; la sortie de la compétence a supprimé #version, ajouté l'inclusion flutter/runtime_effect.glsl, et renommé en uSize/uTime/FlutterFragCoord() conformément à ses règles de liaison documentées — une différence concrète de compilation ou non, pas seulement de style.

Testé le: 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

Commandes et exemples de prompts

  • /shadertoy-to-flutterPorte les shaders GLSL de Shadertoy dans des fichiers .frag Flutter qui compilent et se chargent réellement.

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

  • 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