ぼちぼちレンダラ作成開始
ここのところ少しずつ準備していたレイトレーサが
ようやく動作するところまで来た。
Erlangのレイトレースベンチの時に作ったやっつけのものじゃなくて
わりとちゃんとしたものを作ろうとしている。
球のみのシーンから始めても良かったのだが
むしろ世間の手に入るシーンはポリゴンモデルが基本なので
そっちを基準にした。
そうなるとシーンローダが必要で
2Dでいうところのlibjpegとかlibpngみたいのは
多分無いのでこれを作る必要があった。
じゃぁせっかくだからboost::spiritで作るか、
とかやってしまうので進まないこと。
実際、 いくつかboost::spiritでも作ったのだけど
書き方が悪いの速度がいまいちだったので手で書いた。
dxf, ply(テキスト), mqoを読めるようにしてみた。
かくして本体に取りかかれるようになったので
作業を開始。
三角形メッシュの交差判定まで作成。
試しにスタンフォードのリポジトリからうさぎ像をレンダリングしてみた。
なんか微妙にシルエットがおかしいが、
追求はLambertシェーディングを実装してからかなぁ。
今のところ。
sampling count: 22500 triangle intersection count: 21330000 rendered time: 0.860000 sec
ピクセル毎の前三角形総当たり
sampling count: 22500 triangle intersection count: 6066252 rendered time: 0.250000 sec
バウンディングボックスで棄却
ToDo:
設定ファイルの読み込み機能
Lambertシェーディング