SourceChord

C#とXAML好きなプログラマの備忘録。最近はWPF系の話題が中心です。

トーンマッピング + xorshift

トーンマッピング

レンダリングしたときの各ピクセルの色情報をfloatで保持するようにしてレンダリング終了時にトーンマッピングをするようにしました。

背景画像が白く飛びすぎなくなったり、全体的に色がよく見えるようになったかなと思います。

ちなみに、hdr形式でも結果を出力するようにしたので、あとからトーンマッピングをやりなおしたりできます。





xorshiftを用いて高速化

レンダラの中で乱数を生成する方法をC言語標準のrand()関数からxorshift法を用いたものに変更しました。
やはりだいぶ速くなりますねw
ちなみに上の画像は500sample/pxでレンダリングしていますが、
レンダリング時間が282秒→226秒と高速化できました。
(ロシアンルーレットのルーチンでちょっと計算にムダがあってそこも修正しての結果ですが・・)