2010-03-01から1ヶ月間の記事一覧

MCPTその4

CG

Lafortune の修正 Phone モデルを実装。 データ任せなので絵面が悪いが、、、 最大深度:3 サンプリング数:100 下図は直接照明の拡散反射項をオフ鏡面反射項を入れたためロシアンルーレットでは更にサンプル数を増やさないとダメな予感。

3DS ファイルの読み込み

C:Load3DS The Graphics File Format Pageこの辺が参考になった。 かなり深い部分まで解析(特にマテリアルチャンク)している。 座標の単位が良く分からなかったが多分 cm 単位なんだろう。早速実装してみた。 デザインセンスはないのでフリー素材を物色。 基…

空間分割その3

kd-tree を実装してみたのでお楽しみの速度比較。最大深度: 3 サンプリング回数:500 通常 レンダリング時間:71129msKd-tree レンダリング時間:50245msおよそ 20秒近くの高速化。 3割りくらいかな。サンプリング数と二次レイが増加する程もっと顕著な差が出て…

空間分割その2

前回 Octree で実装しようと考えていたがやはり無駄が多い気がした。 一方 BSP では分割が発生することと何よりも三角形以外(たとえば球)が 扱えないことが不便と気づく。 kdtree は形状を上手く扱えるかで若干悩んでいたが良いアプローチを 見つけたので kd…

空間分割

結局やっちゃおうかなというノリで思考中。Uniform grid 構築、探索とも容易だが極端なシーンには向かない。 また分割数を増やすと重複するデータが出現しやすい。Octree 構築は容易と思うけど無駄が多い。 u-grid と比較すると探索が遅くなるのは致し方ない…

MCPT その3

CG

はてな日記使い難いなぁ、、、スレッド化に続いて Exposure でのトーンマップをやっつけ実装。 コード書いてる時間よりも考えている(=設計)時間が長いのは当然として 毎回ネーミングに時間とられるネーミングセンスのなさが嫌になる。Mymemory 人力系の翻訳…

スレッドその2

MCPT のコア部分をマルチスレッド化。 テスト環境はデュアルコアなのでマルチコアも楽しんでみようということで横道に、、、 単純にアムダールの法則から理論値 2 倍は出るはずということで。シングル: 42735ms マルチ: 22117ms 1.93 倍レイトレはデータ構造…

スレッド

簡単だけどそれなりのスレッドクラスを作りたいがどうしたものか。調べてるみると (1) コンストラクタで _beginthredex を実行するタイプ (2) 別関数で _beginthredex を実行するタイプ とやってるものを見かける。symbian とか弄っていた経緯からコンストラ…

MCPT その2

CG

結局弄り出すとあれこれやっちゃいたくなるんだね、、、最大深度: 3 サンプリング回数: 500 おかしな出力なのは光源のため。 直接照明は点光源で間接照明は面光源。 面光源のオクルージョンテストを調べなければ。サンプリング回数が少ないと光線が光源に飛…

Monte-Carlo-Path-Tracing

CG

前回レイトレを弄っていたものからか無性にレンダラを書きたくなってきた(汗 といっても中毒性があるのであまり大したことまではしないように触りだけ・・・。 趣味や仕事で環境光=一定加算なんてことしかしてこなかったもので 間接照明が扱えるものがいいね…