GLSL ray marching な今日この頃
GLSL で ray marching を試している。
Unity が WebGL 出力に対応する話で世間は非常に盛り上がってますね。わたくしはひたすらに GLSL とけなげに向き合っております。
上の写真のとおり、レイマーチングのみでオブジェクトの描画やライティング、あとは模様の投影みたないことまではできるようになった。色が緑なのは、法線をそのまま色として出力しているからだ。
実質的な勉強時間は計算してないけど、自分で予想していたよりはスムーズに進んでいるような気がする。
画像とはまったく関係ないけども、レイマーチングではなく単純に GLSL を使った二次元での映像出力も同時進行で勉強中。自分なりの記述でパーリンノイズ風味なことをやってみたり、フラクタルを描いてみたりしている。
ここで培われたものは、最終的にレイマーチングで terrain 出力するという目的に向かっている。それも、数日中には挑戦することができそうだ。うまくいくのかどうかは、まだやってみないと何とも言えない。がんばろう。
レイマーチングは、おそらくレイトレーシングの手法の一つにしかすぎず、レイトレーシングをきちんと学ぶ必要性を感じている。嬉しいことに、これに関してはすごく熱心にサポートしてくれる先人がいるので非常に助かっている。
そんな偉大な先人の、優秀なレイトレ野郎をさがす旅路のその傍らに、自分はボーっと突っ立っていたのかもしれない。期待に応えることが責務とは思わない。それが重荷であるとも感じない。でも、単純に自分自身のためにも期待に沿えるように努力していきたいなと思う。誰かが喜んでくれることは単純にうれしい。
自分が成長すれば、それを wgld.org を通じて多くの人にシェアすることができる。
自分が誰かにとっての偉大な先人になりたいのではない。同じなのだ。誰かが喜んでくれるなら、それが自分より優れた技術を持った偉大な先人であろうと、これから WebGL を学ぼうとする人であろうと、同じなんだ。
自分がもっと貢献できたらいい。そんな曖昧で壮大で、ある意味自己満足な目的のためだけに、私は努力を重ねることができる。