見出し画像

シェーダライブコーディング・アーカイブシステム

平井 龍之介(ひらい りゅうのすけ)

 平井君は,シェーダライブコーディングを効果的に記録・再生・共有するためのプラットフォームLiCoを開発した.日本ではメガデモという呼称が有名だが,なめらかに動く美しいCGアニメーションと,それに同期した音楽をリアルタイムにレンダリングするプログラムはデモシーンと呼ばれ,古くから親しまれているハッカー文化の1つである.昔はAmigaのデモシーンなどでコンピュータの性能限界ギリギリまでグラフィクスを演算・描画するプログラミングの超絶技巧テクニックを学んだ人もいるだろう.デモシーンはコンピュータの進化とともに世代を超えてコミュニティも発展しており,近年はGPU利用を前提としたGLSLシェーダプログラミングの描画表現の創作活動も増えてきている.

 本プロジェクトでは,シェーダプログラミングの持つ「コードがあればグラフィックを復元できる」という特徴を活かして,「コードに対してどのような編集がどの時間に実行されたか」というコードの時間差分データを用いてプログラミングの様子をリアルタイムに記録・再生するプラットフォームLiCoを作成した(図-1).

平井01

図-1 シェーダライブコーディングシステムLiCoの動作画面

 初学者にとってシェーダコードの描画コンセプトの特殊性や数学的な知識が参入障壁となり得ることを受けて,それらの難点を取り除いてライブコーディングの面白さに触れてもらうために,新しいグラフィック表現ツールDynamisを開発した(図-2).

平井02

図-2 DynamisはXMLをGLSLに変換しレンダリングする

 Dynamisでは「sphere(球体を生成する)」「rot(座標系を回転させる)」といった操作を意味するタグをXML形式で記述することによって立体の符号付距離関数を生成することができ,レイマーチングと呼ばれる手法を用いてシェーダを知らない人でも直観的なグラフィック表現やライブコーディングによるパフォーマンスを行えるようにしている.

 このようなシェーダライブコーディングの制作過程を重視した体験を共有できるサービスは,今後のGLSLプログラマの裾野の拡大に大きく貢献できる可能性が高い.GLSLはスマートフォン上でも実行できるため,SNS上で流通したデモの再生をきっかけに小中学生がプログラミングに興味を持ち,プログラムの奥深さに嵌る若手ハッカー人口が増え,CGレンダリング技術とサブカルチャーが世代を超えて継続して発展していくことを期待している.(竹迫良範PM担当)

[関連URL]
Licoについては,https://lico-shader.net/
デモ作品については,https://twitter.com/lico_shader

[統括PM追記] 平井君は竹迫PMの弁によると「自信のなさ,周りからの評判を気にしすぎる傾向」が気になったとあるが,どうしてどうして,結局プロジェクト前半にシステムの大枠を作り終え,あとは本人もシェーダライブコーディングを楽しみながら,素晴らしいシステムを仕上げた.ぜひ,デモ作品を見ていただきたい.

(2021年6月30日受付)
(2021年8月15日note公開)