圧倒的な迫力を見せる 350 万本以上のレイが飛ぶ! ソースコードも公開中 SDF-trace!

doxas : 2016-02-11 14:04:44

飛んで飛んで飛んで飛んで飛んで~

今回ご紹介するのは、いわゆるレイトレースの要領でレイを飛ばしまくる WebGL 実装のデモです。

直訳すると Ray は光線という意味になるかと思いますが、まさに今回のデモはその光線をこれでもかと実感できる面白い内容になっています。

派手なエンタテイメント作品ではないのですが、どうしてこんなに心がときめくのか……いや、むしろ 3D 界隈に興味があるなら、これはときめかざるを得ないでしょう(笑)

反射回数などを任意に変更可能!

上でも書いたように、今回の作品はけしてエンターテイメント性の高い作品ではありません。また、いわゆるパーティクルのデモ作品のように、わかりやすい物量感があるわけでもありません。

しかしなぜでしょう。

350 万ものレイが飛び交っていると思うとお胸がざわざわします(病気

シーン内には、光源が一箇所配置されています。

また、それを取り囲むオブジェクトたちは矩形や円形などの幾何学的な形状をしており、毎回ランダムに配置されるようになっています。

デモそのものは、画面が開かれたその瞬間からスタートしており、当然ながら読み込むリソースなどがほとんどないこともあって即座にスタートします。

もし、ぼんやりと変な白い模様が見えていて、まったくレイが飛んでいるように見えないようなケースがあれば、その場合は初期位置でランダムに配置されたオブジェクトの内側に光源が入ってしまっている状態なので、画面内の適当な場所をクリックして、光源を移動させましょう。

キャプチャこそしていませんが、今回のデモでは右上のところにメニューが配置されるようになっており、そこからいくつかのパラメータを変化させることが可能となっています。

特に見た目に大きな影響があるレイの反射回数を変化させると、上の画像のように一切反射しないレイとしてシーン内に描くこともできます。

反射させる回数が多くなればなるほど、当然ながら画面全体は白っぽい印象になりますが、反射回数が少ない場合は、一点から放射状に光が広がり、オブジェクトによって光線が遮蔽される様子を確認することができるでしょう。

湾曲した面を持つオブジェクトが大量に配置された場合などを見てみると、本当に神秘的な光の模様が画面に描き出されます。

正確な反射を繰り返し、その光の軌跡によって描き出される模様は一種のアート作品のように、文字通り眩しく目に映ります。

驚くべきことに、このデモの一切のソースコードは全て Github にて公開されており、誰でも手軽にレイトレースの世界の一端を垣間見ることができます。

最大 350 万ものレイを飛ばしているにしてはかなり動作も軽快ですし、学習用のサンプルとしてみても、かなり面白いのではないでしょうか。

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

リンク:

SDF-trace

david-westreicher/sdftrace: A signed distance field tracer

share

follow us in feedly

search

search

monthly

sponsor

social