【コラム】

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

71 限定条件付き動的PRT(2)~PSF技法におけるライティング

 

71/99

PSF技法におけるライティング

頂点単位の陰影処理になるのは前出の静的PRTと同じだ。つまり、実際のレンダリング時は、3Dモデルの各頂点に対してライティングを実行することになる。具体的には、そのライティングを行う頂点における自己遮蔽情報に配慮し、さらにその頂点へ影響を及ぼしてくる他者オブジェクトのShadow Fieldsに配慮する、という流れになる。なお、他者の同心球状に並んだ複数のShadow Fieldsからどれを選ぶかだが、これはそのライティング対象頂点から最も近い8個の候補を選んで重み付きの線形補間を行って、その結果を採択する。

PSF技法におけるライティング

もちろん、自分と他者では基準とする座標系が異なるため、他者のShadow Fields情報をグローバル座標系に揃える処理をしなければ、こちらから他者Shdaow Fieldsを利用できない。

分かりやすく前出の図を引き合いにだして言えば、ティーポットとウサギが回転していて異なる向きになっていた場合、ティーポットから見てウサギは相対的にあらぬ方向を向いているわけで、ウサギの「他者への遮蔽情報=Shadow Fields」をこちらに反映させるにはそのShadow Fieldsの向き(座標系)までを揃えなければ行けないということだ。

このShdow Fieldsの向き揃え処理(座標系変換処理)がSH Rotationという処理だ。SHはSpherical Harmonics(球面調和関数)の頭文字の2文字を取ったもの。簡単に言えば、球面調和関数で近似して作った遮蔽構造データを、そのスケーリング係数のみを用いて座標軸回転をしてしまうのがSH Rotationだ。

球面調和関数のスケーリング係数からなる係数ベクトルだけで座標系の回転を行う処理が「SH Rotation」だ。

そして続いて座標系を揃えた他者のShdow Fieldsをこちらの自己遮蔽に統合(反映)させる処理を行うわけだが、これにはSH Triple Product(高度な複数回にわたる内積演算)という演算を行う。

SH RotationとSH Triple Productの実際の理屈や処理系については、複雑であり、誌面の都合によりここでは省略する。両方とも係数ベクトル次元で行う計算で、なおかつ高速化に配慮した手法であり、球面調和関数などと同様に「ありもの」的なツールとして活用して良いとされている。ただし、計算負荷はそれなりに高い。

なお、SH RotationとSH Triple Productの理論や実装については「Spherical Harmonic Lighting: The Gritty Details」(SH Rotationの実装方法)、「Code Generation and Factoring for Fast Evaluation of Low-order Spherical Harmonic Products and Squares」(SH Triple Productの実装方法)といった論文や、ピラミッド社が提供する資料を参考にして欲しい。

処理している頂点への他者オブジェクトからの影響の有無についての調査は、そのシーンに登場する全ての他社オブシェクトについて行う。影響があるか無いかの判断は、前出のバウンディングスフィアの8.0rの距離を基準にして行えばいい。8.0r以上の距離の離れた他者については影響がないとして無視をし、逆に8.0rの距離以下の他者オブシェクトについては影響があるとするのだ。影響があるならばそのShadow Fieldsを統合していく(計算に含める)。

全ての頂点について遮蔽構造を算出できてしまえば、あとの陰影演算(輝度計算)は静的PRTと同じだ。改めて言うまでもないだろうが、その遮蔽係数ベクトルと光源係数ベクトルの内積を求めるだけだ。(続く)

PSF技法による動的PRTは個々の3Dオブジェクトの変形は許容されないが位置移動や回転が許容される

ピラミッド社によるPSFの実装例。まるでレイトレーシングによるオフライン・レンダリングされたかのような柔らかい陰影のオブジェクト達が動く。ここまで動かせるようになれば、特定のタイプのゲームであれば実用可能かもしれない

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

71/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)

もっと見る

関連キーワード

人気記事

一覧

新着記事

[実力試し]HTML5 認定試験 Lv1 想定問題 (3) 空要素の記述法
[10:00 8/25] 企業IT
IntelのKNL(Knights Landing)の性能は? - ISC 2016 第4回 まだまだ続くコア数の増加とFlopsの向上
[10:00 8/25] テクノロジー
『GANTZ:O』、完成披露上映会の開催決定! 小野大輔、M・A・Oらが登壇
[10:00 8/25] ホビー
本当に高校生? 松本人志も驚いた16歳・北村優衣とは - 苦労の先にあった、松岡茉優との衝撃共演
[10:00 8/25] エンタメ
iiyama、HDMI 2.0ポート搭載の28型4Kディスプレイ「ProLite GB2888UHSU」
[10:00 8/25] パソコン