#イラストレーション

San Miguel(レンダリングテスト)

Physically Based Rendering Pbrtのギャラリーにあるのを真似てレンダリングしてみた。 左が本物(pbrt)右が偽物、、、まぁぱっと見はちゃんと計算出来ている ように見えます。 3Dデータ:http://graphics.cs.williams.edu/data/meshes.xml © Guillermo M. Le…

ブラックホール・レイトレ(2)

以前作ったのよりもう少しリアル(?)になった。 膠着円盤以外はちゃんと測地線を計算しているので正しいと思う。 インターステラーの一場面をまねて作ったので比較して見ると大きな違いは無いようなのでOKという事で。

ブラックホール・レイトレ

ブラックホールも球体の穴 ブラックホール一周。

Primary Sample Space Metropolis Light Transport (PSSMLT

以前、メトロポリス光輸送は大した効果が無いといった事を書いている。 http://blogs.yahoo.co.jp/cat_falcon/35239565.html しかし、以下(とても参考にさせて頂いている)。 参考)穴空間[http://kagamin.net/hole/] メトロポリス光輸送法の実装例がある。…

ワームホール(5)・コーネルボックスの中のワームホール(2)

図のような設定で遠方に色違いのコーネルボックスを設定してそこをワームホールで接続して計算した結果。 とりあえず計算結果にぱっと見に分かる矛盾は無さそうなので正しく計算出来ていそうです。間接光も計算出来ているようなので当面の要件は満たしている…

ワームホール(2)

昨日よりいい感じに計算できたのでアニメーションにしてみた。 積分を0~ー無限大ということなのでがそんな数値計算は出来ない。 適当に-10e5とか-10e10とか、、、こんなことしてると計算が終わらない。旨い打ち切りが分からなかったが超空間座標lと動径r…

ワームホール(インターステラー)

「映画」インターステラーで使われた可視化技術はワームホールでは 「Visualizing Interstellar's Wormhole」という論文です。 実装してみた。まずは失敗作。 式を色んなところで間違えていた。ブラックホールのレンダリングで作った微分方程式ルーチンはそ…

回転するブラックホール

カー解のnull測地線が計算できるようになったのでレンダリングしてみた。 左からa=0, a=0.7, a=0.9999 のブラックホール。 よく分からないが形が変わって見える。(あってるのか不明) 一応、計算できているが測地線の点列を計算する過程で点間隔が殆どゼロ…

ブラックホール

前回「コーネルボックスの中にブラックホール」をやってみたが、宇宙空間を想定してブラックホールをパストレーシングしてみた。 インターステラーで見た映像とそっくりにレンダリングできた。

コーネルボックスの中にブラックホール

ブラックホールをレイトレする例はわりとあるけどパストレーシング(GI)でやってる例が見当たらなかったのでやってみた。 null測地線を計算するのは良いけどレイの原点、レイ方向を初期条件にしたnull測地線を計算する方法が分からない。 仕方が無いのでnull…

白黒写真のカラー化(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による実装が高速らしいが、まだ論文の幾つかの式がが理解できない。 現在の実装は素直に散乱をシミュレーションしているのである意味物理的だが問題点もある。 そ…

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

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

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

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

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

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

グローバルイルミネーション(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)

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