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

iRIC Project

津波・高潮シミュレーションだが前にも書いたように私のヤツはレギュラー格子なので色々と苦労しているのだがまだ、境界条件が適切に扱っていない。 ※スタッガード格子だと境界条件は簡単になるようです。 で、流体でいうところの圧力の境界条件を誤魔化して…

白黒写真のカラー化(4)

Conjugate Gradient Methodで計算しているがソルバとソルバ前段階で工夫したところ一気に30倍高速に処理できるようになった。 300x300画像で1分だったのが2秒。 550x450画像で30分だったのが1分弱。 後はOpenMPで並列化できるところは…

白黒写真のカラー化(3)

一応、精度を満たす計算がまともに出来るようになった。 スパース行列なのでNR(Numerical Recipes)に書いてあるConjugate Gradient Method(2.7 Sparse Linear Systems)を使って計算。 ソルバ自体は割りと高速に計算出来ているがその前処理 Indexed Stora…

白黒写真のカラー化(2)

まだまだ正しい結果にならない。 誤差なのか拘束条件で指定したピクセルか分からなくなる。拘束条件と判定されるとその周囲の色が動かなくなってしまう。 沢山の考慮漏れとバグがあるがちゃんとそれっぽく計算できたやつが下の絵。Photoshop職人達(?)が歴史…

白黒写真のカラー化

理論的に不可能 TV等で自動的に白黒カラー化が可能になったような放送を見たという人も多いよで私も凄い技術だと思った。しかし、良く考えると不可能な話だ。カラー(24ビットとして)、白黒8ビット、どうやっても失われた情報は復元できない。 視聴者にイン…

グローバルイルミネーション(34) SSS

SSS(sub surface scattering) 実装してからしばらくたつけど気に成っている点を修正。 bssrdfによる実装が高速らしいが、まだ論文の幾つかの式がが理解できない。 現在の実装は素直に散乱をシミュレーションしているのである意味物理的だが問題点もある。 そ…

高潮シミュレーション(台風201330号(HAIYAN))

バグが直ったので台風201330号(HAIYAN)の計算が終わったので こんな感じになった。計算は正しそうだ。

グローバルイルミネーション(33) スペクトルレンダリング

RGBをスペクトルに変換する部分が出来たので試してみた。 シーンはholeさん「穴空間」のをまねて作った。 RGBでレンダリングしていないが見た目が同じになったので合っていそうです。 でも、虹が出ていない。 そこでモデルを変えてみた。またまたholeさんの…

高潮シミュレーション(伊勢湾台風) 3

バグが直ったので再計算しました。 名古屋港の潮位変化(T.P 0) 潮汐は考慮していない。 名古屋港での最高潮位と時刻は概ね再現されていると思う。 若干、過剰評価しているので海面抵抗計算を補正する必要がありそうです。

高潮シミュレーション(伊勢湾台風) 2

やっと間違いが分かった。 後日、修正したコードで再計算してみようと思う。 さて、間違いは単純だったがこれの間違いが分かるのには相当時間が掛かった。 簡単に言うと、、、 int foo( int W, int H, int i, int j, Foo& f ); という関数の呼び出しを間違え…

高潮シミュレーション(伊勢湾台風)

計算してみた。 当時の名古屋港の観測値と全くといっていいほど合っていない事が分かった。 コンタで見る限りはそれなりの結果だったので今までは合ってると思っていたが、、、 ふと、思って名古屋港の潮位変化をグラフにしてみたらたった50cmしか上昇し…

グローバルイルミネーション(32) スペクトルレンダリング

スペクトルでレンダリング出来るようにしています。 レンダラが大体出来るとスペクトルへの対応は8割は終わっているようなものだと思います。 というのも処理の流れは全く同じなはずで若干のスペクトルへの対応があるだけですが残りの2割は以外に壁が厚い…

グローバルイルミネーション(31)

ようやくPSSMLTがちゃんと動くようになった。 OpenMPとMPIで並列化も出来た。 実は最近まで実装後の結果で正しい結果が何か分からなくなっていた。 穴空間「http://kagamin.net/hole/」で公開されているのと比較しても結果が異なるし、、、 試行錯誤している…

津波シミュレータを少し改良

津波シミュレータを少し改良しました。 今までは断層破壊が瞬時に起こるか時間差で起こるかが指定できましたが、ある断層の破壊が進行している途中で別の断層の破壊がはじまるようなパターンは計算出来ませんでした。 しかも時間差は10秒の開きを最低限必…

グローバルイルミネーション(30)

IBL(angular map)で影を落とす方法が分からない。 色々と妄想して実装。 なのでやりかたとしてあっているかはいつものように不明だが実写に近くなってきた気がする。

グローバルイルミネーション(29)

バンプマッピングの実装 凸凹した表面をもつ形状をモデリングするのは困難。 なので凸凹具合のテクスチャを用意してマッピングする。 ただマッピングすだけならテクスチャマッピング。 そこで実際に3次元的な凸凹があるかのように陰影も計算してやる。 これ…

グローバルイルミネーション(28)

PSSMLTもERPTも思ったほど品質が上がらない。 確かに良いところもあるにはあるが総合的には普通のパストレのほうがまし。 ※これは私の実装に問題があると思う。 確かに隙間から漏れてくる光は旨く捉えている。パストレでは難しいケースだ。 しかし、デカイ光…

グローバルイルミネーション(27)

多少まともに結果が出るようになった。 とは言えPSSMLTがものすごく優れているとは言えない結果。 たしかに普通のパストレ(PT)と比較するとその差は歴然だがNextEventEstimationを実施したPTとはぱっと見た目は殆ど同じ。 しかし、拡大してみると確かに明る…

グローバルイルミネーション(26)

とりあえず、色んな情報は捨て去っていつもの妄想で理にかなうように作り直しては捨てるという馬鹿馬鹿しい作業をやっているうちになんとなく分かってきた。 ・あるピクセルに注目してサンプリングN ・輝度に応じてNから重点サンプリング ・あとはPSSに従っ…

グローバルイルミネーション(25)

ピクセル値を4倍している意味はやっぱり不明。 そこで条件を変えて比較してみた。 穴空間「http://kagamin.net/hole/」で公開されているのを使わせてもらった。 ソースコードはシーンデータ部だけ変更している。 一番上はパストレーシング。 2段目は左から…

グローバルイルミネーション(24)

Primary Sample Space Metropolis Light Transport (PSSMLT) Energy redistribution path tracing (ERPT). まだ適当にごまかしている(というか想像で作った箇所がある) 概ね論文に従っているが理解できない所が結構あるので正しい実装にはなっていないと思…

グローバルイルミネーション(23)

Primary Sample Space MLTの実装中。 大体、動くようになった。 ノイズが多い。 並列化が出来ない(スレッド可は出来るけどPCクラスター並列化は困難)。 普通のパストレをほぼ書き直さなくて良いと思ったけどそうでもなかった。 まだどっか間違っている可能…

グローバルイルミネーション(22)

前回の続き。 グローバルイルミネーションのアルゴリズムは別にパストレーシングが唯一では無い。 様々な手法がこれまでも生み出されている。 これらはパストレーシングの弱点を克服する。 next Event Estimationの実施。 ※これは実装済み これで小さな光源…

グローバルイルミネーション(21)

前回のテストケースに関して 自信を持って言い切れないがやはりパストレーシングの弱点のような気がする。 というのも、、、 まず、パストレーシングのアルゴリズムの概要だけど 視点からレイを飛ばす、何かに当たったらそこで反射(または屈折など)して新…

グローバルイルミネーション(20)

平行光源でビームを作ってみたが、、、 まずは こんな感じ。 理屈というか思ってた通りの結果なので正しそう。 で、次は障害物を置いてみた。 こうなった。 これも正しそう(な気がする)。 そしてこの障害物をミラーにしてみた。 こうなった、、、、 なんか…

グローバルイルミネーション(19)

平行光源が出来たので計算しなおした。 太陽光は光源は非常に遠いためこれくらいの領域では平行光源とみなせる。 なので影がどこも概ね同じ方向になる。

グローバルイルミネーション(18)

平行光源が出来たので(理解が間違っていた) 以前は「グローバルイルミネーション(6) 表面下散乱と関与媒質 」だった。 今回は こうなった。

グローバルイルミネーション(17)

平面光源だと こうなる。計算方法に手間取ったが平行光源が実装できた(出来立てなのでまだ間違っているかもしれません。) こうなった。本当に拡散せずに光が差し込んでいるか媒質を入れてみると こうなった。 うまくできているっぽい。色々と分かった事が…

グローバルイルミネーション(16)

平面の光源が平行光源だと思ってた。 面光源では影がシャープにならないのでなんか違うという気がしていた。 勉強不足だ。 まだまだ分からない事が沢山あるし気が付いていない事もある。 そろそろ専門書を買うときがきたかなぁという感じだ。

グローバルイルミネーション(15)

ちょっと太陽光が暗いかもしれない、、、 ランプが変、、、 細かいところでまだまだな結果だが 僕的には今までの中では実写に近いOutputになっている気がする。 This 3Dmodel was modeled by Guillermo M. Leal Llaguno http://graphics.cs.williams.edu/dat…