2010-01-01から1年間の記事一覧

環境設定

パラメータの類が随分増えてきたためいい加減ハードコーディングが辛くなってきた。 ということで外部からの入力をできるよう思案。 テキストファイルでも作ればそれで終わりだけど味気ない。 業務では MSExcel なので VBA でちゃちゃっと書けるんだけど生憎…

Depth of field その2

CG

実際の被写界深度範囲を考慮し色々確認を行った。ピント位置:モデルよりも手前 → 全てボケる(後ろボケ) ピント位置:モデル中央 → 全て合焦する ピント位置:モデル中央より若干後ろ → 手前がボケる(手前ボケ) ピント位置:モデル後方より若干後ろ → 全てボケる…

Depth of field

CG

簡易レンズモデルを実装。 レンズ関連のパラメータとして下記を利用。 ・絞り値 ・焦点距離 ・ピント位置 ・レンズ口径 ピント位置が 3つの球より手前 ピント位置が 3つの球より若干手前 ピント位置が 手前の球付近 ピント位置が 真ん中〜奥の球付近 後方被…

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

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

心理量ライティングその2

CG

HLSL はシェーディング部分をいじるのは簡単だけどその他の準備が面倒、、、 ということで昔作ったレイトレを改修してみることにした。 拡散反射についての物理量[上]と心理量[下]の比較。 すべてγ(=2.2)補正あり。 トーンマップ部分は Exposure(K=1.0) で行…

心理量ライティング

CG

CEDEC2008 リニア空間と物理的に正しいライティング http://cedec.cesa.or.jp/2008/contents/prg/va_04.html別の調べ物をしていたらセッションスライドを見つけたので読んでみた。2.テクスチャ、ライト、トーンマップ この辺りが中々面白かったかな。 物理量…

ToneMapping その2

Exposure http://freespace.virgin.net/hugo.elias/graphics/x_posure.htmカメラに入った光がフィルムなどに焼き付けられるまでの露光プロセスをシミュレーションしたものかな?(1) フィルムに当たった光 = カメラに入った光 * k (2) 明るさ = 1 - e^(-(フィ…

ToneMapping

HDR な画像を扱う過程に興味を持ったので早速。 既存のフォーマットではチャネル毎に 8bit 以上は扱えないためフォーマットと 周辺から調査を行うことに。OpenEXR http://www.openexr.com/index.htmlIndustrial Light & Magic 社が開発したライブラリ。 ハリ…