background

スポンサーサイト

--年--月--日(--)

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


ガンマのはなし その5

2011年07月11日(Mon)

ずいぶんと更新の間隔が開いてしまった。原因は勢いで新しいMacを買ってしまって、移行アシスタントを使わずに環境を再構築していたからで、色々変わったんだけどその辺の話はまたいずれ。
ということでサクサク進めよう。

9. 誤解だらけのCGとガンマ

おそらくこれを読んでくださっている大半の方が期待しているように、今回のガンマの話の終着点は「Poserとリニアワークフロー」である。しかしそこに辿り着く前に、もう二つばかり証明しておかなければならないことがある。

それは、リニアワークフローにモニタのガンマ値は無関係だということ。そして「物理的に正しいレンダリング」などというものは、いまだ幻想に過ぎないということだ。

たびたび見かけたリニアなんちゃらの説明はこうである。

従来のレンダリング結果にはモニタガンマ2.2がかかっている。だから現実より暗く、物理的に正しくない。したがって2.2の逆数、0.45のガンマカーブをかけ明るく補正する必要がある。またガンマ2.2のモニタで作られたテクスチャには、ガンマ2.2(の逆数のカーブによる補正)がかかっているので、レンダリング前にリニアに戻す必要がある。そうすればリアルになる。

このガンマの話の冒頭で、自分が「よくわからない」と書いた主な原因がコレである。前回までの記事を読んでくださった人なら、自分と同じような気持ち悪さを覚えたかもしれない。

これまで散々説明してきたように、コンピュータの中のデータはリニア(直線)である。モニタで暗く歪められた明るさは、人間の明るく歪んだ知覚によって相殺され、私たちの目にはほぼデータ通りのリニアに見えていたはずだ。それがどうして「CGソフトに限って」再び暗く表示されなければならないのだろう?

レンダリング結果にガンマカーブがかかっているなら、均等に変化するグラデーションは暗い方に偏ってレンダリングされるだろう。また、ライトを半分にすると明るさは半分よりずっと暗くなるだろう。かつてそんなレンダラがあっただろうか。

テクスチャに逆数カーブの補正がかかっているというが、プロファイルも読みとれないCGソフトがなぜガンマ2.2もしくは1.8を考慮してレンダリングを行うのだろうか? だいたい、自分の環境がガンマ2.2だから2.2で補正、などと言って、もしテクスチャの作者がガンマ1.8のMacユーザーだったらどうするつもりなのだろうか。

穴だらけである。そしてもっとも気持ち悪いのは、どう考えても理屈がヘンなのに、なぜか結果が伴っているように見える、ということだ。

難しいことを難しく考えていては、いつまで経っても始まらない。一つずつ考えてみよう。まず、CGソフトは本当にモニタガンマに応じてリニアな結果を暗く歪めているのか、という点だ。

これを確認するにはさほど手間はかからない。一つのグラデーション画像を画像ビューアとCGソフトのレンダリング結果とで同時に表示してみればいい。そこに差がないのなら、「CGソフトだけモニタガンマを余分にかけている」という仮説は崩れる。

110711-1

そして第二回で証明した「モニタガンマの暗い歪みは人間の知覚の明るい歪みで相殺されている」ということから、画像ビューアに表示されている明るさは、ほぼデータのままのリニアである。であれば、CGソフトのレンダリング結果もデータ通りのリニアに表示されている。0.5で表示されるべきところは0.5で表示されているのだ。モニタガンマで本来の明るさより暗くなっている、という説明は誤りであることがわかる。

では次に、テクスチャ画像になんらかの「明るい歪み」という補正がかかっているかどうか。これを確認するには、画像を使わない方法で色を指定してみればいい。これはすでに以前のエントリで検証済みである(ていうかあの検証自体が今回のための伏線だったわけで)。結果、画像の明るさと値で指定された明るさは等価であることがわかっている。

もっと簡単な確認方法は、一枚のポリゴンである平面小道具にUまたはVノードを接続することだろう。UまたはVノードはジオメトリのUV値を参照する。

110711-2

平面小道具のUV値は0と1しかなく、中間部分は線形に変化している。もしUV値が均等に中割りされていなかったら、貼り付けたテクスチャは左右または上下に偏ってしまうことになる。なのでUV値が作り出すグラデーションと画像のグラデーションが同じに見えるなら、画像のグラデーションもリニアであることになる。

いやいや、数値で指定してもやはり補正はかかっているのだ、CGソフトの内部でモニタガンマを参照(または決め打ち)し、数値に逆数のカーブをかけているのだ、と主張するなら仕方ない。20年以上前から存在するCGソフトが、(Windowsでは)ようやく最近OSベースでサポートされるようになったモニタのガンマをどうやって参照していたのか、またOSによってわざわざ数値を変更していたのか、レンダラを設計したすべての開発者がどういう意図をもってそんな仕組みを作ったというのか、ぜひ具体的に筋の通った説明をしていただきたいものである。

そんなわけで。

レンダリング結果はモニタガンマで暗く歪んでなどいないし、テクスチャに明るい補正などかかっていない。最初から順序立てて考えていけば、これが素直な帰結である。

すると、また新たな問題が浮上する。従来のリニアなんちゃら解説の「そうすればリアルになる」という部分である。確かに従来の解説で結果は伴っているように見える。というか結果が伴っているからこそ微妙な解説でもまかり通るんである。これは一体、どういうことだろうか。

(つづきは明後日更新、の予定)



Comments

こんにちわ、いつも勉強させてもらってます

他の人のモニタで自分の絵がどんな風に見えているのか、今更ながら不安になってきました・・・。
Macなひとが羨ましいです。

外観パースなどコントラストを高く取りたい時はガンマ値を低く、フラットであっさりめの絵を作りたい時はガンマ値を高く、というように、そのときの絵面の雰囲気に応じて適当に設定していました。
Poserのガンマ値なんてライティングの底上げ感覚で使ってましたw

おうちのモニタとプリンタの色が大体合ってればOK!
それが我が家のすも~るリニアワークフロ~♪

もう一度声を大にして、Macなひとが羨ましい! です。

Name
NooN #GCA3nAmE
Site
URL
Post Date
2011-07-11
Post Hour
15:40:53

Edit

リニアなんちゃら キターッ!

ほとんどのリニアワークフローの解説は、出力ガンマをモニターガンマの2.2に合わせるように解説されていますが、何度か試してみたところ自分の求める適正な結果は、シーンやライティングによって出力ガンマを変えるべきという結論に達しました。(笑)
PoserPro2010で出力ガンマを2.2にしてレンダリングすると、「お前は誰だ!」って言うようなコントラストの低いすっぴん的なお姉さんになってしまいますしね。(笑)

Name
hisayan #vdXS97RM
Site
URL
Post Date
2011-07-11
Post Hour
19:46:56

Edit

間違っていたのに

あの階段の実験は今回の為だったのですね、やっぱり面白いからだけではなかった!
でも充分面白かったですけど・・・

>一つのグラデーション画像を画像ビューアとCGソフトのレンダリング結果とで同時に表示してみればいい。

簡単そうだったので私もコレをPoserでやってみました、確かにホボ、というか全く同じに見えました。
(↑BG PictureからBackgroundに繋いでレンダリングしたんですがそれで良かったでしょうか?)

なんちゃら解説は間違っていたのに←あ!もとい、微妙な解説なのに(^^;、何故結果が伴っていたのか、果たしてKyotaroさんは其の答えを見出されたのでしょうか、
楽しみにして次回を待ちたいです。

Name
sannzi #u2lyCPR2
Site
URL
Post Date
2011-07-11
Post Hour
21:03:20

Edit

いよいよ本番っぽくなって参りました~

>Noonさん
いらっしゃいませ~。ようこそお越し下さいました(^^
自分の絵がどう映ってるか、一度気になりだすとなかなか吹っ切れないんですよね。
自分もこっそり確認して愕然とすることがあります。特に会社のノートPCとか……(笑)。
基本的なキャリブレーションさえしておけば、そう拘らなくてもとは思いますけども。
またプリンタの色合わせがめんどくさいんですよね~。

自分は絵を補正するときのカーブなどは、もう狙ってる効果に応じて
いろいろ変えちゃえばいいと思っています。
絵画調にするときは淡く明るい感じにしたりとか(笑)

>hisayanさん
お待たせしました~。いよいよ佳境にさしかかってきた模様です。
まあ、結論はhisayanさんと同じになるはずなんですが(あ言っちゃった)、
そこをいかに理詰めで誤摩化すかが次のポイントでございます(笑)。
Poserでの扱いとかは、もうちょっと先になりそうですね。

>sannziさん
はい、このガンマの話は書くまでにちょろちょろ伏線が出ております(笑)。
ビューアとの比較の検証方法は、sannziさんの方法が一番間違いがないと思います。
全然見た目変わらないですよね(笑)。

実はなんちゃら解説、はっきり誤りだと言い切るかものすごく迷いました。
書かれた方々本人は正しく理解されていらっしゃるかもしれないですし、
機能を使う分には理屈まで把握してる必要はないですからね。
とはいえ反証がなければ鵜呑みになってしまうわけで……。
次回分の文章はすでに書き上がっておりまして、一応そこで結論が出ております。
ただいま鋭意画像制作中ですので、しばらくお待ちくださいませ~。

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2011-07-12
Post Hour
02:12:17

Edit

「コンピュータの中のデータはリニア(直線)である。モニタで暗く歪められた明るさは、人間の明るく歪んだ知覚によって相殺され、私たちの目にはほぼデータ通りのリニアに見えていたはずだ。それがどうして「CGソフトに限って」再び暗く表示されなければならないのだろう?」

↑目の前に見えている現実世界は常に、光量や反射はそもそもリニアなわけで、それに対して人間は常に「明るい歪み」で世界を見てきているわけで、その状態、見え方こそが、まさしくリアルではないですか?
それなのに、正しい設定で得られたレンダリング結果のリニアなデータ(モニタへのリニアな信号入力)が、そのまま人間の目に対してリニアな強さとしてディスプレイ表面から人間の目にとどけるためには、モニタガンマを考慮して逆補正をかけなければならないのではないですか?
つまり、「レンダリング結果はモニタガンマで暗く歪んでなどいないし、テクスチャに明るい補正などかかっていない。」などということはなく、
「レンダリング計算結果の(ディスプレイ表示前の)内部的な数値はリニアだが、CGソフト上でレンダリング完了後に見るレンダリング結果画像は補正処理がない限り、モニタガンマでゆがんでいる」といえます。

Name
syuu #-
Site
URL
Post Date
2013-01-10
Post Hour
01:09:26

Edit

>syuuさん
まずは、こちらの都合で長年ブログやネットに触れられなかったせいで、お返事ができずじまいだったこと、お詫びします。
syuuさんの疑問については、一連の記事を1から最後まで読んでいただければ解決できるのではないかと思います。

Name
Kyotaro #NWbyPjWY
Site
URL
Post Date
2016-07-15
Post Hour
00:10:43

Edit

Post Comment

管理者にだけ表示を許可する


Trackback

※このブログにトラックバックを送信する場合、お手数ですが本文中にブログ該当記事へのリンクを含めてください。

トラックバックURL:http://rutenshikai.blog63.fc2.com/tb.php/468-07a3c501



Menu

Profile

Kyotaro

確定名:Kyotaro
ネタを探しているらしい。

Categories

Calendar

04 | 2017/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

Comments

Archives

Track back

RSS feed

Links

Search

※2011年4月6日のサーバ障害の為、エントリのアドレスが以前のものからズレています。当Blogのエントリにリンクを張っておられた方は、お手数ですがアドレスのご確認をお願い致します。

※Internet Explorer非推奨。


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。