Computer Graphics
第9回
レンダリング(3)
シェーディング
大域照明モデル
講義内容
 レンダリング(4章 p.95〜)

シェーディング
シェーディング基礎
シェーディングモデル







環境,拡散,鏡面反射
完全鏡面反射,透過,屈折
散乱,減衰
スムースシェーディング
大域照明モデル(時間があれば)
ラジオシティ法

2006/06/26
Computer Graphics
2
光の種類と性質
 物体を照射する光

直接光



平行光源:太陽光
点光源:電灯,スポットライト
大きさを持つ光源(線光源,面光源):蛍光灯、間接照明
被照面の反射光:拡散反射成分+鏡面反射成分

間接光

環境光
環境光反射成分
基本的なシェーディングモデル
→ この3つの反射成分を加え合わせることにより,面の明るさを計算するモデル
2006/06/26
Computer Graphics
3
シェーディングの例
各画素の輝度=環境光反射成分+拡散反射成分+鏡面反射成分
2006/06/26
Computer Graphics
4
(1)環境光
 環境光



壁などで反射を繰り返して空間中を一様に照らす,間接光
を近似値したもの
陰や影の部分にもある程度の明るさを与える
間接光を大まかに近似した光

ラジオシティ法:精密な間接光(相互反射)
環境光に対する物体面の反射光の強さ
I  ka Ia
ka: 環境光に対する反射率, Ia : 環境光の強さ

2006/06/26
Computer Graphics
5
(2)拡散反射
 どの方向から見ても物体面の輝度が一定となる反射

視点位置による物体表面上の輝度変化はなし
 入射光が物質内の浅い部分で多重散乱後,表面から放射
された光
 拡散反射のみの面=完全拡散面(鏡面反射なし)
 物体面の輝度は以下のものに依存



2006/06/26
光源の位置・方向
面の向き
面の反射率
視点に依存しない!
Computer Graphics
6

拡散反射 〜平行光源の場合
 平行光線が入射角αで平面を照射する場合
平行光線に対する拡散反射光の計算法
この面をθ方向から見た時の輝度は
入射角余弦の法則より,
平面に入射する光束はcosαに比例
I
E  Ii dS cos 
平行光線で照射された場合の拡散反射光の強さI
ランバートの余弦則より,
物体面からθ方向への反射光の強度は
dI  (Ii dS cos  )cos 


2006/06/26
dI
 kd Ii cos
dScos

I  kd Ii cos   k d Ii N  L

面の輝度は視線方向に依存しない!
ka: 拡散反射率,Ii:入射光の強さ
α:光の入射方向と面の法線のなす角(入射角)
Computer Graphics
7
拡散反射 〜点光源の場合
 点光源:光の強度が光源からの距離の2乗に反比例
点光源に対する物体面の拡散反射光の強さ
I
kd Iq
r
2
cos  
k d Iq
r
2
N  L
kd: 拡散反射率,Iq:点光源の光度,r:光源からPまでの距離

2006/06/26
N: 面の法線ベクトル,L: 光線の方向ベクトル
Computer Graphics
8
光源の配光特性を考慮した例
配光特性の数式モデルの例
Iq   Io 1 cos/2
※Ioは灯軸方向の光度
2006/06/26
Computer Graphics
9
拡散反射 〜線光源の場合
 線光源:蛍光灯など.点光源が直線上に並んだものとして計算
線光源に対する物体面の拡散反射光の強さ
kd Iq
I 2
r
L

0
cos
cosdl
2
r
kd: 拡散反射率,Iq:線光源の単位長さ当たりの
灯軸方向の光度,L: 線光源の長さ,r:PQ間の距離

2006/06/26
Computer Graphics
10
拡散反射 〜面光源の場合
 面的な広がりを持つ光源に対する拡散反射
 面光源,多面体光源など
(a)面光源→表面上の輝度は,点Pでの光源の立体角の正射影面積に比例
(b)多面体光源→区分求積法により計算
(a) 面光源
I  kd La A
ka: 拡散反射率,La:光源の輝度
A’:点Pでの光源の立体角の正射影面積

(b) 多面体光源
kd La m
I
 l cosl

2 l1
ka: 拡散反射率,La:光源の輝度,βl: PQlとPQl+1のなす角
δl:三角形PQlQl+1の法線と被照面の法線とのなす角

2006/06/26
Computer Graphics
11
面光源・多面体光源によるレンダリング例
2006/06/26
Computer Graphics
12
(3)鏡面反射
 物体表面での直接反射によって生じる
 光沢のあるプラスチックや金属表面上のハイライトなど
 入射角=反射角の時,最も強く反射
 反射光の強度は以下に依存

2006/06/26
光源の方向と物体面の向き,面の反射特性,視点方向
Computer Graphics
13
鏡面反射 〜フォンのモデル
 代表的な鏡面反射計算:フォンのモデル
 視点方向と正反射方向のなす角γにより,鏡面反射成分を減少させる
フォンのモデルによる鏡面反射光の強さの算出

I  W  Ii cosn   W  Ii R V

n
W(α)(=ks) : 拡散反射率,Ii:入射光の強さ,γ:視点方向と正反射方向のなす角
n: ハイライト特性制御パラメータ

2006/06/26
Computer Graphics
14
各反射成分の統合
 環境、拡散、鏡面反射の3要素を考慮した場合の反射光
の強さ
I  ka Ia  Ii kd cos  ks cosn  
環境
拡散
鏡面

nおよび反射率を変化させた場合の比較
上の段はks=0.3、下の段は=0.6
nは左から3, 5, 10, 100
2006/06/26
Computer Graphics
15
(4)完全鏡面反射・透過・屈折
完全鏡面反射:鏡など,正反射方向の物体が表面に映り込む
 透過・屈折:透過した先の物体が透けて(歪んで)見える
 物体が反射だけでなく,透過・屈折を起こす場合





表面上の反射特性のみでは不十分
レイトレーシングなどで,物体内部の透過,屈折を考慮
レイ:反射方向+透過・屈折方向 →これらを求める必要!
レイの追跡における終了条件(再帰的に)


2006/06/26
レイが拡散反射面(完全鏡面反射も透過・屈折もなし)に当たった場合
レイが交差する物体がシーン中に存在しない場合(背景の色とする)
Computer Graphics
16
(4-1)正反射方向のレイの算出
 正反射:
入射角=反射角
 面の向き(法線ベクトルN)と視点方向(視点方向ベク
トルV)から,正反射方向ベクトルを求める
正反射方向ベクトルR
ˆ
R  V 2N
ˆ
V
V 
ˆ N
ˆ
V
正反射方向の単位ベクトル

R 
1
ˆ N
ˆ
V
ˆ R  V
ˆ N
ˆ R
R
R
2006/06/26
Computer Graphics
17
(4-2)屈折方向のレイの算出
 透明,半透明な物体


面の法線ベクトル,視点方向ベクトル,2つの媒質の屈
折率(n1, n2)を既知として,屈折方向ベクトルTを計算
光は屈折率の異なる媒質の境界で
屈折
屈折→スネルの法則に基づき計算
n1sinθ1=n2sinθ2

kf: 屈折の程度を表す係数,これを求れば良い

n1sinθ1=n2sinθ2(スネルの法則)
n
sin1
n 2 
n1 sin 2
ˆ  V 
N
sin1 


2006/06/26

ˆ  V   N
ˆ
T  kf N
V 
sin 2 
n 


ˆ  V 
kf N
ˆ  V 
kf N
T
ˆ  V   N
ˆ
kf N




ˆ  V  N
ˆ
kf N
Computer Graphics
k f V
18
(4-2)屈折方向のレイの算出(つづき)
 透明,半透明な物体


光は屈折率の異なる媒質の境界で
屈折
屈折→スネルの法則に基づき計算
n1sinθ1=n2sinθ2
両辺を2乗、(N+V)・N=0より
2
n2 
2 ˆ
ˆ
kf N
 V   N
kf 
k f V 
2
2
2
1
2
ˆ  V 
n 2 V   N
2

2006/06/26
Computer Graphics
19
(4-3)反射率と透過率の算出

異なる屈折率を持つ媒質境界での反射率kr
フレネルの式から算出
2
2
1 sin 1   2  tan 1  2 
kr   2


2 sin 1   2  tan2 1   2 


各レイにおける最終的な光の強さIv
Iv  kr Ir  k t It
反射方向からの光の強さ
2006/06/26
ただし,透過率kt=1-kr
屈折方向からの光の強さ
Computer Graphics
20
(5)散乱・減衰
 媒体に散乱粒子が含まれる場合に考慮

空気分子,水蒸気,塵,煙,霧,雲,水分子
等
 レイマーチング法

レイに沿って微小距離ずつ移動しながら,視点に到達するまでの
減衰を考慮して散乱光を加算し,輝度を決定
1.点Qからの反射光成分
2.光路PEQ間の点Rにおいて,光源からの光が
視点方向へ散乱された光の成分
2006/06/26
Computer Graphics
21
散乱・減衰を考慮したレンダリングの例
2006/06/26
Computer Graphics
22
スムーズシェーディング
 コンスタント(フラット)シェーディング


ポリゴンの代表点での明るさを用いてポリゴン全体を一定の明るさで表示
マッハバンド効果
 スムーズシェーディング

ポリゴン内の輝度を保管して近似的に滑らかな明るさで表示


2006/06/26
グローのスムーズシェーディング(輝度補間)
フォンのスムーズシェーディング(法線ベクトル補間)
Computer Graphics
23
グローのスムーズシェーディング

ポリゴン頂点での輝度を求め,ポリゴン内での輝度を頂点の輝度から
バイリニア補間により求める手法
2006/06/26
Computer Graphics
24
フォンのスムーズシェーディング
 ポリゴン頂点での法線ベクトルを求め,ポリゴン内での法線
ベクトルを頂点の法線ベクトルからバイリニア補間
 各位置で求めた法線ベクトルから輝度を計算
2006/06/26
Computer Graphics
25
グロー vs フォン
 計算量

グロー <

フォン
輝度値の補間
<
法線ベクトルの補間+正規化+輝度値計算
 ハイライトの表現

グロー


ポリゴン内部の小さなハイライトは表現不可能
フォン

ポリゴン内部の小さなハイライトも表現可能
 マッハバンド効果の削減

フォンの方がよい
2006/06/26
Computer Graphics
26
ハイライト表現の比較
2006/06/26
Computer Graphics
27
影付けの手法(4-4, p.136-)
 本影

光源からの光が全く届かない領域
 半影

2006/06/26
光源からの光の一部が到達する領域
Computer Graphics
28
平行光線・点光源による影
(1)レイトレーシング法による影付け
 平行光線・点光源による影
→ 本影のみ
 レイトレーシング法による影付け

2006/06/26
各画素に表示される面の位置と光源を結び,レイ上に遮蔽物があ
るかどうかを画素毎に判定
Computer Graphics
29
平行光線・点光源による影
(2)スキャンライン単位の影付け
 スキャンライン単位の隠面消去と影付けを同時に行う
 光源から見た面の各辺をスキャンライン上の可視面へ投影

2006/06/26
面S1の可視区間P1-P3で面S2による面S1上の影の区間P1-P2を計算し影
付け
Computer Graphics
30
平行光線・点光源による
(3)物体空間における2段階法による影付け
 光源と視点からの2つの透視投影図を求め,表示時に影の領
域をマッピング


1.光源から見た際の影領域を求める
2.視点から見たときの表示で,影領域をマッピング
 スキャンライン法とZバッファ法に適用

2006/06/26
隠面消去と影付けを同時に処理可能
Computer Graphics
31
平行光線・点光源による
(5)Zバッファ法を用いた2段階法
 Zバッファ法を用いて影となる画素を計算


1.光源を視点として光源から可視面までの距離を画素毎に計算
→ シャドウマップ
2.視点から見て,各画素での可視点に対応するシャドウマップ
の値を参照

2006/06/26
光源から可視点までの距離>シャドウマップ
→ 遮蔽物が存在 → 影
Computer Graphics
32
大きさを持つ光源による影
 線光源,面光源
→
本影+半影
 半影の明るさ


計算点から光源を見たときの光源の可視領域の面積に依存
光源の可視部分のみを新たな光源として,区分求積法により各点
での影の明るさを求める
2006/06/26
Computer Graphics
33
2006/06/26
Computer Graphics
34
大域照明モデル(c.f 局所照明モデル)
 局所照明モデル

間接光(直射光以外の周囲からの光)を環境光として近似
 大域照明モデル



2006/06/26
間接光を含めて精密なモデルにより照明計算
光の相互反射を考慮したシェーディングモデル
ラジオシティ法,フォトンマップ法
Computer Graphics
35
ラジオシティ法
 光の相互反射をより詳細に計算



影が半影(ぼやけた影)を伴う
直接光が届かない部分も相互反射による間接光により照射
反射面の色が隣接する面に影響する(カラーブリーフィン
グ)
 間接光が醸し出す柔らかい雰囲気を表現可能
2006/06/26
Computer Graphics
36
ラジオシティ法の手順
 シーンをすべて細かなポリゴン(面素,エレメント)に分割する
 各面に対する他の面から光の相互反射を繰り返し計算 (フォー
ムファクター)
 最終的なエネルギーをもとに陰影処理をする
2006/06/26
Computer Graphics
37
ラジオシティ方程式
 パッチ間のラジオシティ(放射発散度)の授受を考慮し,
ラジオシティ方程式を作成
2006/06/26
Computer Graphics
38
フォームファクタの算出

フォームファクタ



エレメントAiのすべての点から放射されたエネルギーがエレメントAj に受け取
られる率
距離の2乗で減衰する
法線と同じ方向のとき最も強度が大きい(フォンの法則より)
※エレメントの幾何形状のみに依存
2006/06/26
Computer Graphics
39
2006/06/26
Computer Graphics
40
ダウンロード

環境光の強さ