コンピュータグラフィックス (1)Introduction

コンピュータグラフィックス
光源とシェーディング
光の性質
シェーディングの基礎知識
•
•
•
•
•
拡散反射光
鏡面反射光
屈折光
放射光
環境光
拡散反射光
• 物体の表面に入射した光があらゆる方向に等しく拡散す
るような反射
• 例:光沢のない紙や布
– 拡散反射光の強度は入射角が小さいほど大きい
– 反射光はあらゆる方向に等しく拡散する
I  kd I i cos
鏡面反射光
• 光沢のある面で光源の映り込みのような反射
• 例:光沢のある新車のボディや床面など
– 鏡面反射光の強度は反射角と入射角が等しいときに最大となる
“ハイライト”。
– 反射角と入射角と異なるほど小さくなる
– 反射面の光沢度は大きいほど,ハイライトは小さく明るくなる
屈折光
• 屈折率 r  k1 k2  sin1 sin2
Ii
k1
1
k2
2
• 屈折率:
真空は1.0 水は1.3 ガラスは1.5~1.9
放射光
• 光源がなくても自ら発光してみえるような物体
環境光
• 空気による散乱や周囲物体からの反射などによって近
似的に一定値に設定する環境光
シェーディング
• フォンの照明モデル
– 物体表面の輝度は,拡散反射光,鏡面反射光及び環境光で構成
輝度=α×拡散反射+β×鏡面反射+γ環境光
環境光
正反射方向
入射光
Ii


視線方向
反射光
シェーディング法
• フラットシェーディング法
各ポリゴンの中心点における輝度をそのポリゴン全体の輝度と
する手法
平面に問題ないが,曲面では各ポリゴンの境界線が目につく
• スムーズシェーディング法
ポリゴンの境界を目立たなくするために,オブジェクト表面の輝
度が連続的に変化するように補間する手法
グローシェーディング法とフォンシェーディング法が代表的
グローシェーディング法
• アルゴリズム
– 頂点の法線ベクトルを,頂点を形成するポリゴンの法線ベクトルの
平均値とする
– 各頂点の輝度値を「フォンの照明モデル」より計算する
– 任意点の輝度値を周囲の頂点の輝度から線形補間により計算する
フォンシェーディング法
• アルゴリズム
– 頂点の法線ベクトルを,頂点を形成するポリゴンの法線ベクトル
の平均値とする
– 任意点の法線ベクトルを周囲の頂点の法線ベクトルから線形補
間により計算する
– その点の輝度値をフォンの照明モデルより計算する
グロー法とフォン法の比較
• グロー法では,任意点の輝度値は周囲頂点の輝度値か
ら線形補間により計算されるため,高速に描画できるが,
ポリゴン内にハイライトを表現できない
• フォン法では,任意点の法線ベクトルを線形補間で推定
されるため,ハイライトを適確に表現できるが,すべての
点の輝度値を計算する必要があり,時間がかかる