TokyoDemoFest2016に参加しました

2月20-21日に行われた日本で唯一のデモパーティ,Tokyo Demo Festに参加してきました.GLSLのFragment Shaderでグラフィックスを表示するGLSL Graphics Compoに"Indra's Bubbles"という作品を出して二位をいただきました.


作品の様子
f:id:soma_arc:20160222164759p:plain

Shadertoyに投稿したコード,動くものはこちら
Indra's Bubbles

デモとの出会い

元々,デモシーンにはレイマーチングを通じて出会いました.sphairahedronの高速な描画にレイマーチングを用いて物体同士のブール演算を用いて描画する方法が適していることがわかったため,これに用いるためにレイマーチングを学びました.次にMandelboxやPseudo-Kleinianの存在です.フラクタルアーティスト界隈でよく使われるそれらのフラクタル図形にはクライン群に見られるような特徴をみることができることに気付きました.
www.youtube.com
これらはクライン群関連の論文でも見たことがありませんでしたので調査を始め,結果としてデモで使われるようなテクニックを用いて本物のクライン群の高速描画アルゴリズムを指導教員と共に開発することができました.

作品について

中央に正八面体の頂点に配置した球で構成される群によるクライン群とその周囲にPseudo-Kleinianの式で構成されるフラクタル図形を配置したものです,クライン群とPseudo-Kleinianの一部は鏡面反射されるようにいじってあり,特に立方体の隅や特定の一面は全てが反射されています.鏡面反射する部位については,Orbit trapを行って計算していますが,Orbit trapそのものの理解が不十分であり,他の人の作例を見て,実験的につけたものです.
個人的には完全な球形とその次の形が良い感じに反射してくれてお気に入りです.
しかし,中央のクライン群の描画アルゴリズムありきの作品であり,レンダリング技術やエフェクト等がなっていません.特にフォグの実装が駄目なのか,低い解像度だとノイズが目立ちます.レンダリング技術を極め,より綺麗な映像にしたいところです.
中央のクライン群の可視化アルゴリズムについては,近いうちにまとめた文章を出す予定です.

イベントについて

初めてのデモパーティーでしたが,会場の雰囲気としては,ぎっちりとイベントが詰まっているわけではなく,適度に空白の時間があり,その間はパソコンに向かって作業する,もしくは他の人と交流するような感じになっていました.今回はセミナーをおこなう場所が分かれており,聞きたい人が聞きにいく感じになっていました.チョコレートや寿司,ピザ,ビールを振舞っている人もいて,パーティーという感じでしたね.ただ,イベント会場のArts Chiyodaの体育館は寒かったです.

おわり

どのデモも非常に面白く,素晴らしいリアルタイム生成のグラフィクス作品を見ることができました.このような作品があるのならば,自分の頭の中にある理想もどうにか作品にすることができるのではないかと,少しだけ希望を持つことができました.
来年もどうにか,クライン群,フラクタルのリアルタイムレンダリングを極めて作品を出したいと思います.また,Combined demo compoは音楽が必要なのでどうにかゴアトランスを作れるようになりたいところ…
それでは,Demoscenerの皆様の一年がより良きものでありますように.