【コラム】

3Dグラフィックス・マニアックス

42 HDRレンダリング(2)~HDRレンダリングの第一の効能

 

42/99

現実世界を記録するのに必要なダイナミックレンジとは?

そこで、DirectX 9世代SM2.0対応GPUの時代に、HDRレンダリングを実現するのに必要な120dBほどの数値表現能力を持ったフレームバッファフォーマットとして提供されたのが、各RGBが16ビット浮動小数点(FP16)で表されるフォーマットだ。

FP16は符号1ビット、仮数10ビット、指数5ビットで成り立っている浮動小数点フォーマットだ。表現範囲は(2の10乗)×(2の32乗)≒4.4×10^12、つまりダイナミックレンジ120dBとなり(指数5ビット=2^5、つまり32)、FP16はダイナミックレンジとしては現実世界のかなりの割合の輝度レンジを記録できるポテンシャルがあることが分かる。

コンピューティングの世界で浮動小数点表現というと、「単精度」といわれる32ビット浮動小数点(FP32)と、「倍精度」といわれる64ビット浮動小数点(FP64)が一般的だが、このFP16は主にグラフィックス用として提唱されたものだ。ちなみに、この提唱者はSF映画「スターウォーズ」の特殊効果でお馴染みのILM(Industrial Light & Magic)のCG部門で、FP16はこのILMが提唱するHDR映像のオープンソース規格「OpenEXR」の中に定義されている。

単精度のFP32は符号部1ビット、指数部8ビット、仮数部23ビットで成り立つ浮動小数点フォーマットなので、表現範囲は(2の23乗)×(2の256乗)=9.7×10^83であり、ダイナミックレンジは830dBと、こちらは逆にオーバースペック過ぎる。

そうした経緯があり、最新世代のGPUでは、αRGBが各FP16で表される64ビットバッファ(16ビット×4、以下FP16-64ビットバッファ)が、リアルタイム3Dグラフィックス向け、3Dゲーム向けの標準的なHDRレンダリング向けのバッファのフォーマットとなっている。

ただ、従来のαRGBが各整数8ビットで表される32ビットバッファ(以下、int8-32ビットバッファ)と比較すると倍のビデオメモリを消費し、32ビットバッファと同等パフォーマンスを実現するには単位時間あたりに求められる帯域やバス性能は2倍になる。

これはDirectX 9世代/SM2.0対応GPUの時は、負荷的にかなり厳しいものであったのだが、最新世代のDirectX 10世代/SM4.0対応GPUにおいては、現実的に問題なく活用できるソリューションとなりつつある。

HDRレンダリングのメリットとは?

HDRレンダリングは、現実世界に近いダイナミックレンジの情報をほぼそのまま記録していくようなレンダリング技法であるということはイメージできたと思う。

とはいえ「それが一体どうした?」という疑問も浮上するかもしれない。ハイダイナミックレンジでレンダリングしたとはいえ、表示するディスプレイ装置は従来の1677万色のディスプレイであるため、そのままでは表示することが出来ない。

FP16-64ビットのHDRバッファにHDRレンダリングしたところで結局、表示させる段階でint8-32ビット相当のLDRバッファに丸め込んで減色処理しなければならないのだ。

となれば、HDRレンダリングのメリットとは一体どこにあるのか?

それは、主に、ここから紹介する3つの要素にあるとされる。

(1)陰影がよりリアルになる (2)露出のシミュレーションが行える (3)まぶしさの表現が可能になる

HDRレンダリング第一の効能~陰影がよりリアルになる

HDRレンダリング第一の効能は、陰影がよりリアルになるというところだ。

例えば、光をあまり反射しない材質として道路の路面のアスファルトを例に挙げるとしよう。

道路の材質で知られるアスファルトの光の反射率はわずか7%程度だという。これは「ほとんど反射しないが全く反射しないわけではない」という反射率だ。

例えば、一般的に流通しているαRGB各整数8ビットの1677万色モードにおいて、8ビット整数表現で最も明るい255の7%は約18となる。つまりRGBの全てが255の白色光でライティングしても、その陰影処理の結果はRGBの全てが18というかなり暗い色、階調になってしまうということなのだ。

8ビット、256階調における18はこんなに暗い(イメージ)

しかし、現実世界では、高輝度の太陽光を受けた路面は鈍く輝いて見える。

これは3Dグラフィックスに置き換えると、光源の太陽がディスプレイで表現される最高輝度のRGB=255どころではない、とてつもなき高い輝度値を持っているためだ。

HDRレンダリングは、このような「RGBの全てが255で頭打ち」という制約を取り払うものなので、従来のレンダリング技法ではどうしても埋もれてしまっていた陰影を浮かび上がらせる効果が期待できるというわけだ。(続く)

「HalfLife2:Lost Coast」(VALVE,2005)より。LDRレンダリングではこのように全体が暗い

HDR光源を用いたHDRレンダリングでは、このように埋もれた陰影が見えるようになる。画としては全体が明るくなったような感じになる。なお、「HalfLife2:Lost Coast」では、レンダリングにFP16-64ビットバッファのレンダーターゲットを採用している

(トライゼット西川善司)

42/99

インデックス

連載目次
第99回 3D立体視の解体新書 - 立体視という知覚(4)~単眼立体視と両眼立体視の有効範囲の考察
第98回 3D立体視の解体新書 - 立体視という知覚(3)~両眼立体視
第97回 3D立体視の解体新書 - 立体視という知覚(2)~単眼立体視(2)
第96回 3D立体視の解体新書 - 立体視という知覚(1)~単眼立体視(1)
第95回 人工知性でコンテンツを生成するプロシージャル技術(19)
第94回 人工知性でコンテンツを生成するプロシージャル技術(18)
第93回 人工知性でコンテンツを生成するプロシージャル技術(17)
第92回 人工知性でコンテンツを生成するプロシージャル技術(16)
第91回 人工知性でコンテンツを生成するプロシージャル技術(15)
第90回 人工知性でコンテンツを生成するプロシージャル技術(14)
第89回 人工知性でコンテンツを生成するプロシージャル技術(13)
第88回 人工知性でコンテンツを生成するプロシージャル技術(12)
第87回 人工知性でコンテンツを生成するプロシージャル技術(11)
第86回 人工知性でコンテンツを生成するプロシージャル技術(10)
第85回 人工知性でコンテンツを生成するプロシージャル技術(9)
第84回 人工知性でコンテンツを生成するプロシージャル技術(8)
第83回 人工知性でコンテンツを生成するプロシージャル技術(7)
第82回 人工知性でコンテンツを生成するプロシージャル技術(6)
第81回 人工知性でコンテンツを生成するプロシージャル技術(5)
第80回 人工知性でコンテンツを生成するプロシージャル技術(4)
第79回 人工知性でコンテンツを生成するプロシージャル技術(3)
第78回 人工知性でコンテンツを生成するプロシージャル技術(2)
第77回 人工知性でコンテンツを生成するプロシージャル技術(1)
第76回 3Dモデルの変形までが可能な動的PRT(5)~SH Exp演算の大胆な近似による高速化
第75回 3Dモデルの変形までが可能な動的PRT(4)~SH Log演算とSH Log次元における遮蔽の統合
第74回 3Dモデルの変形までが可能な動的PRT(3)~帯域調和関数(Zonal Harmonics)の導入
第73回 3Dモデルの変形までが可能な動的PRT(2)~SH LogとSH Expとは?
第72回 3Dモデルの変形までが可能な動的PRT(1)~3Dモデルの変形に対応した動的PRT技術の台頭
第71回 限定条件付き動的PRT(2)~PSF技法におけるライティング
第70回 限定条件付き動的PRT(1)~動的PRT第一段階PSF技法とは?
第69回 事前計算放射輝度伝搬(PRT)~PRTの基本。静的PRT(4)
第68回 事前計算放射輝度伝搬(PRT)~PRTの基本。静的PRT(3)
第67回 事前計算放射輝度伝搬(PRT)~PRTの基本。静的PRT(2)
第66回 事前計算放射輝度伝搬(PRT)~PRTの基本。静的PRT(1)
第65回 事前計算放射輝度伝搬(PRT)~PRTとは?
第64回 表面下散乱によるスキンシェーダ(8)~表面下散乱とスキンシェーダ(6)
第63回 表面下散乱によるスキンシェーダ(7)~表面下散乱とスキンシェーダ(5)
第62回 表面下散乱によるスキンシェーダ(6)~表面下散乱とスキンシェーダ(4)
第61回 表面下散乱によるスキンシェーダ(5)~表面下散乱とスキンシェーダ(3)
第60回 表面下散乱によるスキンシェーダ(4)~表面下散乱とスキンシェーダ(2)
第59回 表面下散乱によるスキンシェーダ(3)~表面下散乱とスキンシェーダ(1)
第58回 表面下散乱によるスキンシェーダ(2)~ハーフライフ2で採用の疑似ラジオシティライティング(2)
第57回 表面下散乱によるスキンシェーダ(1)~ハーフライフ2で採用の疑似ラジオシティライティング(1)
第56回 水面の表現(5)~大きな波
第55回 水面の表現(4)~水面のライティング(2)
第54回 水面の表現(3)~水面のライティング(1)
第53回 水面の表現(2)~動的なさざ波
第52回 水面の表現(1)~水面表現の歴史
第51回 HDRレンダリング(11)~トーンマッピング
第50回 HDRレンダリング(10)~HDRブルーム/グレア処理
第49回 HDRレンダリング(9)~HDRテクスチャ
第48回 HDRレンダリング(8)~HDRレンダーターゲット
第47回 HDRレンダリング(7)~HDRレンダリングのプロセス
第46回 HDRレンダリング(6)~HDRレンダリングの歴史と動向(2)
第45回 HDRレンダリング(5)~HDRレンダリングの歴史と動向(1)
第44回 HDRレンダリング(4)~HDRレンダリングの第三の効能
第43回 HDRレンダリング(3)~HDRレンダリングの第二の効能
第42回 HDRレンダリング(2)~HDRレンダリングの第一の効能
第41回 HDRレンダリング(1)~HDRレンダリングとは?
第40回 ジオメトリシェーダ(11)~ジオメトリシェーダを活用した新表現(7)
第39回 ジオメトリシェーダ(10)~ジオメトリシェーダを活用した新表現(6)
第38回 ジオメトリシェーダ(9)~ジオメトリシェーダを活用した新表現(5)
第37回 ジオメトリシェーダ(8)~ジオメトリシェーダを活用した新表現(4)
第36回 ジオメトリシェーダ(7)~ジオメトリシェーダを活用した新表現(3)
第35回 ジオメトリシェーダ(6)~ジオメトリシェーダを活用した新表現(2)
第34回 ジオメトリシェーダ(5)~ジオメトリシェーダを活用した新表現(1)
第33回 ジオメトリシェーダ(4)~ジオメトリシェーダのアクセラレーション的活用(4)
第32回 ジオメトリシェーダ(3)~ジオメトリシェーダのアクセラレーション的活用(3)
第31回 ジオメトリシェーダ(2)~ジオメトリシェーダのアクセラレーション的活用(2)
第30回 ジオメトリシェーダ(1)~ジオメトリシェーダのアクセラレーション的活用・ステンシルシャドウボリューム技法の影生成を加速する
第29回 影の生成(10)~改良型デプスシャドウ技法(5)
第28回 影の生成(9)~改良型デプスシャドウ技法(4)
第27回 影の生成(8)~改良型デプスシャドウ技法(3)
第26回 影の生成(7)~改良型デプスシャドウ技法(2)
第25回 影の生成(6)~改良型デプスシャドウ技法(1)
第24回 影の生成(5)~デプスシャドウ技法
第23回 影の生成(4)~ステンシルシャドウボリューム技法(2)
第22回 影の生成(3)~ステンシルシャドウボリューム技法(1)
第21回 影の生成(2)~投射テクスチャマッピング技法
第20回 影の生成(1)~3Dグラフィックスにおける2つのカゲの存在
第19回 バンプマッピングの先にあるもの(3)~セルフシャドウ付き視差遮蔽マッピング
第18回 バンプマッピングの先にあるもの(2)~視差遮蔽マッピング
第17回 バンプマッピングの先にあるもの(1)~視差マッピング
第16回 微細凹凸表現の基本形「法線マップ」(3)
第15回 微細凹凸表現の基本形「法線マップ」(2)
第14回 微細凹凸表現の基本形「法線マップ」(1)
第13回 3Dグラフィックスの概念とレンダリングパイプライン(5)
第12回 3Dグラフィックスの概念とレンダリングパイプライン(4)
第11回 3Dグラフィックスの概念とレンダリングパイプライン(3)
第10回 3Dグラフィックスの概念とレンダリングパイプライン(2)
第9回 3Dグラフィックスの概念とレンダリングパイプライン(1)
第8回 GPUとシェーダ技術の基礎知識(8)
第7回 GPUとシェーダ技術の基礎知識(7)
第6回 GPUとシェーダ技術の基礎知識(6)
第5回 GPUとシェーダ技術の基礎知識(5)
第4回 GPUとシェーダ技術の基礎知識(4)
第3回 GPUとシェーダ技術の基礎知識(3)
第2回 GPUとシェーダ技術の基礎知識(2)
第1回 GPUとシェーダ技術の基礎知識(1)

もっと見る

関連キーワード

人気記事

一覧

新着記事

雨宮慶太監督の『ゼイラム』と『ゼイラム2』がHDリマスターで初Blu-ray化
[22:23 9/30] ホビー
犬上すくね「ばうんさーず」1巻、頼りない叔父を守る保護者気どりの3姉妹
[21:38 9/30] ホビー
[新宿アニソンスコープ]小松未可子シングルが首位 Q-MHzとタッグ
[21:30 9/30] ホビー
世界最大級の音楽配信サービス「Spotify」上陸! - 日本市場における狙いと競合との差別化は?
[21:27 9/30] スマホとデジタル家電
カテキョで繋がる元野球部の先輩後輩、5年ぶりの再会描く南月ゆうのBL
[21:13 9/30] ホビー