Image Based Lightingに向けて基礎知識

イメージベースドライティングを実装するにあたって、必要そうな知識をまとめました。基本は記事などから引用しています。

グローバルイルミネーション
 シーン内の光の総量を、グローバルイルミネーション(大域照明)と呼びます。(DirectXヘルプより)
実はこれってプログラマーにはあまり有名でない気がします。(環境光とも呼ばれるらしい?)

 ラジオシティコースティクスなど、まじめに計算する代わりにリアルな照度を得る計算の総称。(11月14日修正)

ライティングの種類
 まずライティングには、環境光、平行光源、点光源、スポットライトなどがDirectXで有名です。
環境光は全体どこだろうと同じ色がかかります。
平行光源は平行な光を当てている状態です。照明と違うのは、壁があろうと何があろうと関係なく照らします。
点光源は照明です。色と位置を持ちますが、方向は存在しません。
スポットライトは舞台とかにあるスポットライトですね。集中して照らす感じです。

マッピング
 3次元グラフィックスにおいて、モデル(物体)の表面にさまざまな効果を施すこと。
画像を貼り付けるテクスチャマッピング、光の反射方向を変化させて細かい凹凸を作るバンプマッピングなどが代表的なマッピングの例である。(IT用語辞典より)

環境マッピング
 環境マッピングとは、反射性の高いサーフェイスをレイトレーシングを使わずにシミュレートする方法です。
実際、環境マッピングでは、オブジェクトの周囲の景色を含む特殊なテクスチャマップがそのオブジェクト自体に適用されます。
人の目をごまかせる程度に周囲の景色を映すので、レイトレーシングのような計算コストがかかりません。(DirectXヘルプより)

レイトレーシング
 3次元グラフィックスで、物体の座標データや光源や視点の位置などの環境に関するデータを計算して画像を描画(レンダリング)する手法の一つ。
視点に届く光線を逆にたどることによって描画する。物体の表面の反射率や透明度・屈折率などを細かく反映させることができるのが特徴。
1画素ずつ光線の経路を計算するため計算量が多くなるが、その分高い画質で描画することができる。(IT用語辞典より)
リアルな描画が可能ですが、計算コストが多くかかるのでリアルタイムレンダリングには向いていないです。

ラジオシティ
 3次元グラフィックスで、物体の座標データや光源や視点の位置などの環境に関するデータを計算して画像を描画(レンダリング)する手法の一つ。
照明工学の分野において発達した手法をコンピュータグラフィックスに応用したもの。光の相互反射を利用し、物体の各面の相互の反射を厳密に計算することにより、各面の持つ光のエネルギーを算出する。
柔らかな間接光の効果を表現できるのが特徴だが、相互作用を収束計算するため、膨大な計算量が必要である。(IT用語辞典より)

イメージベースド
 写真を使って3次元のCGを作る技術、今やリアルなCGの表現には欠かせない技術です。
立体物を、ある角度から撮影した写真を元に実物を再現しようとしても、平面の写真からでは、立体物の奥行きがわからない。しかしそこに、別の角度から撮った写真の情報を加えると奥行きがわかり形を決定することができる。
このように2枚以上の写真から類推してCGを作ることを<イメージ・ベースド>という。(デジタルスタジアムより)

HDRI
 HDRI(high dynamic range image、ハイ・ダイナミック・レンジ・イメージ)とは、通常のデジタル画像では記録できない明暗の情報を持った画像。
コンピュータグラフィクスにおけるHDRIは、直射日光から深い影にいたるまで、現実のシーンで見られる強度レベルのダイナミックレンジの広い光線情報を正確に表現することを目的としている。(Wikipediaより)
つまりイメージベースドです。画像を元に光情報を持ってくる感じですね。