2011年1月17日月曜日

ライティング技術関連リンク

ライティング(Lighting)について再勉強しようかと、ふと思い立ちました。リアルタイム・レンダリングに熱を上げて必死に学んでた時期があったんですが、しばらく離れてる間に綺麗さっぱり忘れてしまいました。最近のライティング技術についてもサッパリです。

そんな訳で、ライティング関連の情報をここに蓄積していこうと思います。
ある程度、情報が溜まってきたら独立した記事にします。

 

グローバル・イルミネーション

グローバル・イルミネーション(Wikipedia)

セガ、新作「ソニック ワールドアドベンチャー」におけるライティング技法を公開“次世代水準”の映像美を実現するグローバルイルミネーション(Game Watch)

 

グローバル・イルミネーション(GI)では周囲の物体の拡散光も反映したリアルなライティングを実現します。通常のレイトレーシング法ではこの効果を実現できません。GIの具体的方法にはラジオシティやフォトンマッピングがあります。ただしこれらの手法は計算負荷が高くリアルタイム・レンダリングに向きません。

そのため、擬似GI手法として、以下のPRTという手法が存在します。

 

PRT関連

CEDEC 2006 - PRT最新事情、3Dゲームグラフィックスが大局照明ベースでグリグリ動く(マイコミジャーナル)

[CEDEC 2006#16]見えてきた大域照明モデル,実用的なPRTの姿(4Gamer.net)

PRTでは球面調和関数(SH:Sphere Harmonics)というものが使用されることが多い。

PRTDemo サンプル(msdn)
PRT の方程式 (Direct3D 9)(msdn)

 

球面調和関数関連

球面調和関数(assari)
GLUTを使った球面調和関数のテストコードが置いてある。

テイラー、フーリエ、球面調和関数(t-pot)
級数展開についての解説、

球面調和ライティング(かぴぱらの「のんびり開発日記」)

球面調和関数(Wikipedia)

球面調和関数(きゅうめんちょうわかんすう、spherical harmonics)は、3次元のラプラス方程式の解を球座標で書いたときの角度部分の関数である。

頭文字をとってSHと略することも多いです。SHライティング(球面調和ライティング)のように使われることがあります。球面調和関数の定義にはルジャンドル陪関数が含まれるので、これも合わせて学びましょう。

 

ルジャンドル陪関数関連

ルジャンドル多項式(Wikipedia)

ルジャンドル陪関数(assari)
ルジャンドル陪関数のC言語での関数例がある。

 

BRDF関連

双方向反射率分布関数(Wikipedia)

因数分解化 BRDF(t-pot)

 

未分類

CEDEC 2007 - リアルタイムの皮膚、顔面レンダリング技術をNVIDIAがリアルタイム実装(マイコミジャーナル)
皮下の光散乱等について

西川善司の3Dゲームファンのための「バイオハザード5」グラフィックス講座(後編)(GAME Watch)