自分を描く、自分に還る。
輪を編んでいるのは、プログラム自身の文字です。呼吸する48本の光の糸に、Rubyの文字が流れ続けます。
ダウンロードしたRubyを実行すると、次の姿を持ったRubyを出力します。24回実行すると、最初のソースと全バイト一致で戻ります。--shaderを付けると、自分のソースを内包したGLSLが生まれます。画面のRubyには小さな点の列で各文字の8ビットも描いています。その描画ピクセルを読み、ブラウザ内のRubyで実行し、glslkitで生成GLSLを検証して次の姿へ進みます。
--shader
glslkitがシェーダーを検証し、uniformの型とsetterを抽出。Railsではglslkit-railsのヘルパーとPropshaftを使って配信します。
現在描いているRuby。文字の下の点もソースの一部です。保存したコードを実行すると次の輪になり、24世代で戻ります。
ruby frame.rb > next.rbruby next.rb > after.rbruby frame.rb --shader > frame.frag
生成した frame.frag をビューアで開く ↗