twigl
https://gyazo.com/e80d079b713abbaaf1c434d01ab3f50d
数多く存在するWebベースシェーダ環境のひとつ
Modes
モードごとにPreludeが異なり、渡されるUniform変数・定義されるビルトイン関数に差異がある classic
unifom変数として以下が提供される
resolution: canvasの解像度
mouse: マウス座標
frame: フレームカウント
uniform宣言は自分で行う必要がある
geek
uniformの構成はclassicと同様だが、変数が1文字になっている
それぞれ、 r ・ m ・ t ・ f ・ b
uniform宣言は自分で行う必要がある
geeker
uniform構成はgeekモードと同様だが、uniform宣言およびprecision宣言が不要となる
geekest
geekerモードに加え、以下の差異がある
void main(){} 宣言が不要となり、省略した場合は記述内容がそのまま main の中身となる
gl_FragCoord が FC で利用できる
追加のビルトイン関数群
fsNoiseDigits : macOS向けに精度が調整されたfractSin
300 es
gl_FragColor の代わりに outColor で出力を行う
geek・geeker・geekestモードにおいては、 o と省略される
MRT
outColor0 ・ outColor1 (geekモード以降では o0 ・ o1)で2ターゲットを対象に出力する
Backbufferは backbuffer0 ・ backbuffer1 (geekモード以降では b0 ・ b1)で利用可能