技術

ちょっと脱線

ちょっといじってたら面白い映像が得られた。

testハーフランバートライティング有り

test2ライティング無し

先の投稿でフォトンの吸収位置を1ドットの白色の点で描画してたのを、点の色を vec4(1.0, 1.0, 1.0, 0.5) として、 glBlendFunc(GL_DST_COLOR, GL_SRC_ALPHA); でブレンドした結果である。
フォトン数は100万。
トレースに掛かった時間は10秒ちょっと。

VBOに送ってから描画してるので、リアルタイム、しかも1パスで描画している。
(まぁ全フォトンを一画面で捉えるとGeforce 9400Mで数fps程度まで落ち込むくらい重いけど)

かなりノイジーだがその点に目を瞑れば(遠くから薄目で見てね)、影が自然な感じにみえるし、壁はちょっとギラついてるがグラデーションが自然に見えるし、隅っこはAOが効いてる感じになってる。

物理的には正しくないやりかたで、役に立つ気はしないけど、色伝搬を扱わなくてもフォトンを飛ばすだけでそれなりに面白い画が得られるんだなぁとちょっと感心した。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です



※画像をクリックして別の画像を表示

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください