Gamma correction

(image from Wikipedia) レンダラコンサル(のようなもの)を引き続き続けています. いくつかいただいた質問などの中から今回は、数人の方から同時に話題に上がったガンマ補正について調べたので書いてみます. 自分でも今までガンマ補正には, 存在には気づきつつも考慮していなかったため、よい勉強となりました. ガンマ補正の実制作現場における問題については、すでに masuo さんが取り上げられています [2]. 非常に参考になりますので、こちらも参考にしてください. 問題 CRT や液晶などの表示デバイスは、その特性状、入力の色の強度に線形比例して応答して発光せず、色の強度に対して曲線状に応答します(上図の下側の曲線). この曲線は、 gamma(γ, ガンマ) という値を用いて表現することができます. 入力の強度が I であったとき, 実際に発光される色 I’ は、 I’ = I^gamma という関係があります. I は通常 0.0(真っ黒) – 1.0(真っ白. 最大輝度) の範囲で定義されるので、gamma が高いほど曲線は下側に向きます. 入力で 0.5 の値を与えても、ちょうど中間のグレーが表示はされず、それよりも小さな値(より暗い色)が見えることになります. (人間の知覚反応が強度に対して線形に反応するかという考慮はここでは割愛) たとえば gamma = 2.2 のケースですと、入力のグレー値 0.5 は、0.5^2.2 = 0.21 の色強度として表示されます. なんと, 表示させたいと思っている値の半分以下です! 0-255 の階調で考えると、127(グレー)が実はContinue reading “Gamma correction”

Suicidator City Engine

(The city model is generated by Suicidator City Engine. Rendered by lucille) Suicidator City Engine http://blenderartists.org/forum/showthread.php?t=140415 [Ja] Blender スクリプト(python)で実現した都市ジェネレータ. SIGGRAPH 論文で発表された cityengine のようなものを実装したものといえば分かるひとは分かるでしょうか. デフォルトの設定で generate するだけでも, ポリゴンに落とすと大体 100 万ポリゴンになります. ちょっとしたレンダリングパフォーマンステストにいいかも. (細かい窓の間隔などは、アンチエイリアシングのテストにも適していると思います)

Out-of-core Data Management for Path Tracing on Hybrid Resources

(from Out-of-core Data Management for Path Tracing on Hybrid Resources) Out-of-core Data Management for Path Tracing on Hybrid Resources Brian C. Budge, Tony Bernardin, Shubhabrata Sengupta, Kenneth I. Joy, John D. Owens Eurographics 2009 http://graphics.idav.ucdavis.edu/publications/print_pub?pub_id=957 [Ja] 大規模シーン向けのスケーラブルなパストレアーキティクチャの提案. Out-of-core と呼ばれる、必要なときだけメモリにデータをロードして有限なメモリ量でも効率良く大規模なデータを処理する手法をパストレにも応用して、スケーラブルなパストレにしてみました, という感じ. また、GPU も使わなければもったいない(スケーラブルでない!)ということで、 GPU でもレイトレカーネルを CUDA で実装してより異種混合プロセッサの構成でもスケールするようにしています. GPU でのレイトレですが、レイトレコアは CPU の 6-12 倍とありますが、 システム全体でみるとレンダリング時間は CPU とContinue reading “Out-of-core Data Management for Path Tracing on Hybrid Resources”

lucille on iPhone

I’ve ported lucille into iPhone 🙂 RenderMan-like + global illumination renderer on iPhone! This demo shows the extreme portability of lucille renderer. Since lucille code base is written in very portable manner, porting was done within half of a day: What I did is just fixing few compilation errors and adding iPhone specific display driver.Continue reading “lucille on iPhone”

OoO 第5回 レンダラ忘年会

(追記) bee さんがスペシャルゲストで参加していただけることになりました. Progressive Photon Mapping の講演が(日本語で)聞けるのは OoO 第五回だけ!? ーーー ニュースヘッダではすでに告知していますが、 以下のように OoO 第5回を開催します. (OoO =オフラインレンダラ野郎のためのオフラインレンダラについて議論するオフライン会) 日時: 12 月20日(土) 13:00-19:00 場所 : 恵比寿ガーデンプレイス SGI 株式会社様(31F) 集合: 13:00 B1F ホール(マックの隣) http://www.sgi.co.jp/company_info/map1.html 集合時間に間に合わない方には、当日 B1F の入り口に連絡先が書かれた張り紙をしておきます。 参加費: 0 円 懇親会(任意参加): 有料 今回はレンダラ忘年会 08 です. 今年のレンダラ界隈の話題をまったりと振り返ります. 話題の予定 – Progressive Photon Mapping 講演(SIGGRAPH ASIA 採択論文) by bee – SIGGRAPH ASIAContinue reading “OoO 第5回 レンダラ忘年会”

Mantra vs lucille, first round.

The scene from houdini tutorial, http://www.sidefx.com/index.php?option=com_content&task=view&id=992&Itemid=132 is rendered by Mantra and lucille(through htol exporter). I’ve compared the image rendered by mantra and the one by lucille. Mantra: raytracing, environment light(64 sampels) lucille: raytracing(absolutely!), AO(64 samples), 2×2 subsample. You’ll see notable artifacts in mantra(corners of the geometry, low frequency blurring), beside of small differences in lucille(aspectContinue reading “Mantra vs lucille, first round.”

世界同時ゼロ金利に突入か!?

世界の金利にルカナンがかけられているような感じです. BOE は金利を下げた! http://jp.reuters.com/article/topNews/idJPJAPAN-35260820081204 ちょっと前までは高金利通貨として知られていたポンドですが、 いつのまにか政策金利はたったの 2.0% に!. 1951年以来の低水準だそう. ECB も金利を下げた! ECB、主要政策金利を75bp引き下げ2.50%に http://jp.reuters.com/article/topNews/idJPJAPAN-35261320081204 FED もさらに金利を下げる… かもしれない. 政策金利は現在 1.0%, 次回 FOMC では予想では 0.5% 下げるとも 0.75% 下げるとも言われている. 円とドルの金利差が逆転するなんてことも?… すでに FX の世界ではドル円のスワップ金利はマイナスになっている(円を売ってドルを買う場合) 普通はドル金利 > 円金利なのでプラスの金利差になります. それがなんとマイナスに… こんなこといままであり得なかった! そしてついにスイスフランはゼロ金利に突入! スイスがゼロ金利政策、0.5%利下げ 金融危機下、主要国で初 http://www.nikkei.co.jp/news/kaigai/20081211AT2M1103011122008.html スイスが一番乗りです 🙂 ゼロ金利世代 私の場合は物心ついたときから、金利ってなに? 預金金利 0.25 % とかなにそれ?無いも等しくね? っていう環境で育ったのであまりゼロ金利には抵抗(?)が無いのですが、 それでも主要先進国がすべてゼロ金利に突入しようとしているというのはなかなか壮絶なものがあります. 参考 主要各国政策金利表 http://www.gaitame.com/market/seisakukinri.html

Ambient Occlusion demo for NativeClient

NativeClient (NaCl) と呼ばれる x86 バイナリをほぼそのままブラウザで実行できるフレームワークが出たので、AO bench を NaCl に移植してみました. http://lucille.atso-net.jp/nacl/ao.html (NativeClient プラグインがインストールされている x86 マシンである必要があります. 処理速度が早いので、せっかくですからマウスでいじれるようにインタラクティブにしてみました) source http://lucille.svn.sourceforge.net/viewvc/lucille/angelina/nacl/ao/ 速度ですが、処理時間をブラウザに戻す仕組みがよくわからなかったので目視レベルで確認しました. ブラウザで動かしても速度がネイティブとちがうということはないです. 速度低下がほとんど無い事は、これは NaCl のドキュメントなどでも示されていますね. ってか基本サンドボクシングが必要な部分に施された x86 コードまんまを実行しているので、 ブラウザで実行で速度低下がないというのも納得がいきます. ネイティブとほとんど同じ速度で、というのはすごい特徴なのだろうけど (ブラウザでレンダラとかレイトレを走らせるのも現実的になる)、 しかし実現の仕方がとても直接的というか、プラグインが結局は必要になるし、バイナリも x86 などのアーキ依存というのがちょっと気持ち悪いですね. ユーザは多様なクライアントをサポートするとなると、 x86 や ARM それぞれにバイナリを作らなければならなくなるのでしょうか. ところで、最初は NaCl は x86 コードをダイレクトに解釈して JIT したりサンドボクシングを施して、 Chrome の高速 JS エンジンで実行するという仕組みだと思ってました. x86toLLVM でやろうとしたことを google に先を越された!みたいな. おまけ nacl って、どうしてもナッ○ルって読んでしまいますね. また次に読めるのは何週後になるのだろう…

[htol] Rendering fur: work in progress

This is an work in progress image of fur rendering using htol, houdini to lucille exporter. You’ll find rendered image is definitely not a fur. I know why, and I know how to fix it, but needs more time to do it. [Ja] houdini と htol を引き続きいじってます. 毛もだんだんと出始めてきました. houdini の fur ノードについて、さわりくらいですが発見したことを書いてみます. * 適当にジオメトリを作って選択する ->Continue reading “[htol] Rendering fur: work in progress”

Lsystem exported by htol, Houdini to lucille exporter.

Lsystem! But to do this, you’ll need to connect Convert SOP to Lsystem to convert Lsystem into polygonal geometry. [Ja] htol(Houdini to lucille exporter)で、 Lsystem でました. というか直接 Lsystem データを RIB に吐いてレンダリングはできないので、Houdini 側で Convert SOP 使ってポリゴンに変換しています. 法線のエクスポートがおかしいのか、レンダリング結果にアーティファクトが見られます. まあおいおい改善されるでしょう. fur ももうすぐ吐き出せそうです.