マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

レイトレーシング

MQOファイルを読み込んで少しだけ解析してみている

以前、Javaでレイトレースして三角形を表示できるようにしていたので、MQOファイルを読み込んで頂点座標や面情報を取得して3Dモデルを描画できるように頑張っている。ブランクがありすぎていろいろミスしているがなんとかなりそう。

屈折させてみたが

これでいいのかよくわからんなぁ

ついでに光源の位置を変えたりPhongしたり

今まで光源の位置は視点の位置だったが、物体の近くまで持っていった。ついでに球にはphongシェーダを適用した

反射率を抑える

前回のプログラムだと反射率が高すぎた感じがするので、ちょっと抑えてみた。また、板のサイズを小さくした。そして板を1枚追加

反射反射〜

球1つと板4枚であとは反射で描画、レイトレーシング面白い

反射1回のみ

前回まで光源からレイを飛ばして、物体に当たったら色情報を持ったレイを画面に飛ばすという処理をしていたが、また元に戻した。今回は反射を1回だけやってみた

レイトレの逆 その2

前回は下の部分が描画されなかったが、今回は床からの反射した光を当てたことにして描画した。まぁ、細かいところは気にしない

レイトレの逆 その3

前回のプログラムを改悪してモンスターボールに...?

一般的なレイトレの逆?

レイトレは通常、視点からレイを飛ばして物体に当たれば〜だと思うが、試しに光源からレイを飛ばして物体に当たったら視点に向かって色情報を持ったレイを呼ばすとかやってみた。直接光のみで球一つなのでいろいろ失敗している。なにより光源から飛ばしてる…

いろいろ間違ってたけど影

前回までバグが残ってる状態でうまく影を描画できなかったが、今度こそ!うまくいってるはず

何故か影と床だけ描画してみた

床を追加した

前回のやつに床を追加した。ついでに背景色を灰色にした。まだ影は無い

レイトレ

JavaScriptでレイトレした。まだ球を1つだけしか表示させてない。何度目かのレイトレーシング。最近やりたいことが増えてしまって困ってる。目標や優先順位作っても私は守らないので全部やる方向で行く