レイトレーシングを実装(v1)

慶応大学は、春季休校に入りました。期末試験が終わり開放感を感じる中、自分のまだ知らないことを色々勉強していかなければならないと思いました。

とはいえ、テスト終わりすぐに難しい本やらを読むのは気が引けるので、きばらしとして簡単なレイトレーシングを実装してみることにした。ただしライブラリに頼るのは本末転倒であるので、今回は何もライブラリを使わずに1からやってみようと思った。(しばりプレイ)

・やること
簡単なレイトレーシングをする。
外部ライブラリは一切使わない。(画像表示、画像保存、線形代数、などの基礎ライブラリも使いません)
使えるものはVisualStudio(C++)で標準的に使えるもののみ。

・結果

表示は自力BMP。

床だけは赤い床で、上からの平行光源と、光を鏡反射する球3つと床のみで構成。

よく見ると、何度も光が反射することによってできる跡が伺える。(床からの反射がわかりやすい)

図形はこのような配置にしている。

注:実際はもっと床が下にある。

おまけ 2方向からの光

3方向

Posted on: 2016年2月4日, by : UMU
Exit mobile version