ぼちぼちレンダラ作成開始

ousttrue2008-12-16

ここのところ少しずつ準備していたレイトレーサが
ようやく動作するところまで来た。
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シェーディング