マルチパスレンダリングによって実現した GLSL オンリーのスカルプトツールが変態的にすごい!

doxas : 2016-01-15 13:09:36

もはや紹介せざるを得ない変態さ加減

今回ご紹介するのは、こちらのサイトをご覧のみなさんであればよくご存知の、Shadertoy に投稿されたとある GLSL 作品です。

これまでにも、かなり変態的な作品を多く輩出してきた Shadertoy ですが、こういったデモはこれまでなかなかお目にかかったことがないですね。

マルチパスレンダリングを駆使して、ノーマルマップなどを動的に生成しスカルプトを実現しています。

うーん、すごすぎる……

毎度おなじみ高負荷注意報!

Shadertoy の作品を紹介するときには毎回言っているような気がしますが、こちらの作品もまた、かなり負荷が高い作品です。

少なくとも、オンボード GPU では歯が立たず、結構ごつい GPU を搭載したデスクトップマシンでないと、まともな速度は出ないと思いますので、注意してください。

最初にシェーダがロードされて描画がスタートした直後は、画面上には平らな平面のキャンバスだけが見えている状態になっています。いわゆるスカルプトツールなどと同じように、マウスを使ってドラッグ操作を行うことで、立体的な形状を生成することができます。

画面の左側にあるメニュー部分ももちろんシェーダでレンダリングされたものなわけで、パッと見た感じからしてもう変態感満点です。

レンダリングモード(SCENE)にはいくつかプリセットで用意されているものがあり、上の画像は SHADOW を有効にした状態です。

画面の奥の方からライトがあたった状態になっており、影も自然と伸びていていい感じです。

SCENE には他にも、オクルージョンを有効化したモードやボクセルモードなどがありますが、環境によってはうまくレンダリング出来ないケースもあるかもしれません。

以下のキャプチャは、オクルージョン有効の状態でキャプチャしたものです。手前の山のようになっている部分に、若干暗い陰のようなものが出ているのがわかるでしょうか。当記事のトップ画像と見比べるとわかりやすいかな?

Shadertoy は、2016 年の年明け直後にバージョンが 8 に上がったのですが、そのタイミングでマルチパスレンダリングが使えるようになりました。

今回の GLSL オンリースカルプトツールは、まさにこのマルチパスレンダリングを上手に活用しており、表面的には見えない部分でハイトマップやノーマルマップを生成し、そこからこの三次元のシーンを作っているようです。

一般的なスカルプトツールに見られる、ブラシのサイズ変更やノイズを利用した凹凸表現など、かなり細かいところまでしっかり作られています。また、キーの入力も受け付けるようになっていて、N キーなどの特定のキーを押すことによって、バックバッファの映像を表に出すこともできるようになっています。

とにかく驚きがたくさん詰まったシェーダのみで実現したスカルプトツール。これは間違いなくスゴイ作品なのですが、実用性があるわけではないですね。

しかし、Shadertoy のマルチパスレンダリング機能をかなり有効に活用した事例として、大きな存在価値があると言えるでしょう。負荷はかなり高いですし、シェーダでスカルプトすることになんの意味があるのかと言われればそれまでだったりするのですが、こういった作品を見て素直に驚いたり、楽しんだりできる気持ちは個人的には大事にしたいところです。

簡単に操作を解説しておくと、左側のメニューにある項目を変更したり、キーの入力を加えたりしながら、シーンを構築していきます。

基本的にはドラッグしたところが盛り上がってくるような、普通のスカルプトツールに似た挙動をするので、ほとんど直感的に操作できます。

マウスでクリックしたボタンの違いによる挙動の変化は無く、もしシーン全体を回転させたい場合は、スペースキーを押しながらマウス操作を行えばカメラが移動します。

その他、C キーを使うと、盛り上がった部分が徐々に平坦になっていくようなリセットの効果があります。

少々負荷が高いためゆっくりじっくり楽しむのはちょっと難しいかもしれませんが、デモの下にある再生ボタンの部分でデモの実行をいったん停止してから操作すると、極端に負荷が高くなってしまう現象を防ぐことができます。この場合、マウス操作を行っている間だけ画面が更新されるようになりますので、負荷が心配な人はそんな手順で遊んでみるといいかもしれません。

とにかく、これが GLSL だけで実現しているというのがあまりにも驚きです。

ぜひチェックしてみてください。

リンク:

Sculpt Things!

share

follow us in feedly

search

search

monthly

sponsor

social