リアルタイムレイトレーシングのサンプルです。
VL-BASICのレイトレーシングはすべての計算を
CPUのみで行っているため、外部GPU搭載の
高価なPCは必要ありません。
CPUは(コア数やクロック数などが)高性能な方が良いです。
今回は、g3.basとg4.basをアップしました。
どちらも空間内を自由に移動できます。
(キー操作はg3.bas、g4.basの最終行のコメントに記載。)
上記ホームページから最新バージョンをダウンロードできます。
Readme.txtを読んで遊んで見て下さい。
(動作環境Windows10メモリ4GB CeleronN3350 2コア2.4GHz外部GPUなし)
g4.basは、部屋内に電球と透明球、黄色球、円板型鏡を
配置し、キーボードの1~4キーで4種類の表示をします。
1は、Ray tracing
2は、Ray tracing 部屋が鏡面
3は、Photon mapping(拡散反射によるフォトンの拡散未対応)
4は、Photon mapping 部屋の鏡の反射によるフォトンの拡散
1の画像
Ray tracingの特徴である光の屈折と反射、影が見れます。
2の画像
部屋の壁が鏡のようです。だいぶ遅いです。
3の画像
Photon mappingの特徴である、集光模様と、
この画像では分かりにくいのですが鏡から反射した光
が壁にうっすらと見えます。
拡散反射によるフォトンの拡散未対応のため部屋の
明るさはRay tracingと変わりません。
4の画像
この画像では分かりにくいのですが、
完全鏡面反射によるフォトンの拡散のため、
Ray tracingより明るく見えます。
g3.basは前回紹介しました、木星の近くを光の速度で
飛行する、の木星付近に土星らしきものを表示するように
しました。キーボードの6キーで表示/非表示が切り替わります。
レイトレーシングならではの、環に土星の影が落ちている
のが見えます。