Computer Graphics 第8回 レンダリング(2) シェーディング 講義内容 レンダリング(4章 p.95) 隠面消去の手法 レイトレーシング シェーディング シェーディング基礎 シェーディングモデル 2006/06/12 環境,拡散,鏡面反射 完全鏡面反射,透過,屈折 散乱,減衰 Computer Graphics 2 レイトレーシング法(光線追跡法) レイ(光線)という1次元線分上での交点の前後判定による隠面消去法 cf. スキャンライン法:2次元走査平面上でのセグメントの可視判定による隠面消去 ※物体の反射・透過・屈折特性も考慮可能 2006/06/12 Computer Graphics 3 レイトレーシング法によるレンダリング画像例 2006/06/12 Computer Graphics 4 レイと物体の交差判定 レイと球の交差判定 レイ上の点P(x, y, z), 視点PE,レイの単位法線ベクトル E, 球の中心をS(xs, ys, zs) 両辺2乗 視点を通るレイの方程式 P S P S r 2 0 ˆtP PE E 球の方程式 tに関する二次方程式 PS r レイと球が交点を持つか どうかの判別式! at 2 bt c 0 ただし、 2 ˆ 1 a E ˆ P S bE E c PE S r 2 2 2006/06/12 Computer Graphics 5 交差判定条件 判別式D>0 → t1, t2 > 0の場合 可視点の候補は,min(t1, t2) t1, t2 < 0の場合 2点で交差 可視点候補なし(2つとも視点の背後に存在) t1>0, t2<0 又は t1<0, t2>0の場合 可視点候補は,max(t1, t2) D=0 → レイと球は接する D<0 → 交差なし 2006/06/12 Computer Graphics 6 レイとポリゴンとの交差判定 ポリゴンを含む平面とレイとの交点を求める 交点がポリゴン内部にあるかどうかを判定 視点を通るレイの方程式 平面 ˆtP PE E Piを含む平面の方程式 P Pi N 0 2式を連立し,Pを消去,tを求める t PE Pi N ˆ N E t>0: 視点の前方で交差 t<0: 視点後方に平面 t=0: 視点が平面上に存在 E・N=0: レイと平面が平行 2006/06/12 Computer Graphics 7 交点がポリゴン内部にあるかどうかの判定(1) 点を端点とする半直線とポリゴンの辺との交点の個数を カウントして判定 奇数:内部 偶数:外部 2006/06/12 Computer Graphics 8 交点がポリゴン内部にあるかどうかの判定(2) 点とポリゴンの各頂点を結ぶベクトルの外積の方向をチ ェックする方法 N i Pi1 P Pi2 P i=1, 2, 3, サイクリック 2006/06/12 Computer Graphics 9 交点がポリゴン内部にあるかどうかの判定(3) 点とポリゴンの各頂点を結ぶベクトル間の角度を加算す る方法 角度の総和 2π:内部 0:外部 2006/06/12 Computer Graphics 10 レイトレーシングの高速化 バウンディングボリュームの利用 空間分割法 並列計算による方法 2006/06/12 Computer Graphics 11 レイトレーシング法の特徴 形状モデルとの交差判定が直線 交点計算と可視点の決定が他の隠面消去法に比べ単純 処理に必要となるメモリも小 ソフトウェアでの実装も容易 ポリゴンだけでなく、球や円錐,パラメトリック曲面など 関数表現された物体も適用可能 幾何光学に基づく手法 反射,透過,屈折など複雑な光学現象のシミュレーション,表 現が可能 鏡、ガラス、雲、波など 画素毎の処理 2006/06/12 多くの計算時間(レイの数に依存) 高速化の工夫が必要 Computer Graphics 12 シェーディング(p.117〜) 写実的表現のための技法 シェーディング シャドウイング(影付け) 2006/06/12 物体表面の濃淡を光の当たり具体に基づき計算して表示 他の物体や面によって光が遮られた領域(影)を計算して表示 Computer Graphics 13 シェーディングを理解するために・・用語説明 光の量(測光量),明るさなどを規定するための基本用語 光束 単位時間にある面を通過する放射エネルギー:放射量 放射束を眼の感度のフィルタ(視感度)に通して見た量:光束 単位はルーメン(lm) 光度 点光源のある方向への光度:光源位置を頂点とする単位立体角内に放射 される光束 単位はカンデラ(cd) 光源の空間に対する光度分布を表現→配光特性 立体角とは・・・ ・ある面積Aを一点から見たときの全周に対する広がり度合い ・半径1の単位給への投影面積Ω ・立体角の単位[sr](ステラジアン) ・単位球の表面積4π = 立体角の最大値 2006/06/12 Computer Graphics 14 シェーディングを理解するために・・用語説明 光の量(測光量),明るさなどを規定するための基本用語 照度 単位面積あたりに入射する光束.単位はルクス(lx) 点光源の場合,点光源から距離rの球面上のあらゆる点での照度 E 4I I A 4r 2 r 2 光度に比例,距離の2乗に反比例 →逆2乗の法則 傾いた面上の照度 E cos E n cos A 光の入射角の余弦に比例 →入射角余弦の法則 2006/06/12 Computer Graphics 15 シェーディングを理解するために・・用語説明 光の量(測光量),明るさなどを規定するための基本用語 輝度 光源のθ方向への見かけの面積当たりの光度 (=眼で見たときに感じられる明るさ) 単位は[cd/m2](カンデラ毎平方メートル) L dI dI dS dS cos ランバートの余弦則 どの方向から見ても輝度の等しい表面を完全拡散面といい, 以下の関係式が成立 dI dIn cos dIn: 法線方向の光度 2006/06/12 dIθ : θ方向の光度 Computer Graphics 16 シェーディング・モデル シェーディングモデル=照明モデル=ライティングモデル 光源の種類や特性,物体の反射特性を考慮し,どのような物理 モデルを用いて光源によって照らされた物体を表示するか?を 決定する 局所照明モデル 大域照明モデル 2006/06/12 直接光に関して物理的なモデルに基づいて照明計算を行う 直接光だけでなく,間接光までを含めて物理的なモデルに基づき 照明計算を行う Computer Graphics 17 基本的なシェーディングモデル シェーディングモデルを構成する要素 2006/06/12 物体を照射する光源の種類と特性 光と物体の相互作用(直接光,反射光) 物体の性質:反射,透過,屈折特性 Computer Graphics 18 光の種類と性質 物体を照射する光 直接光 平行光源:太陽光 点光源:電灯,スポットライト 大きさを持つ光源(線光源,面光源):蛍光灯、間接照明 被照面の反射光:拡散反射成分+鏡面反射成分 間接光 環境光 環境光反射成分 基本的なシェーディングモデル → この3つの反射成分を加え合わせることにより,面の明るさを計算するモデル 2006/06/12 Computer Graphics 19 シェーディングの例 各画素の輝度=環境光反射成分+拡散反射成分+鏡面反射成分 2006/06/12 Computer Graphics 20 (1)環境光 環境光 壁などで反射を繰り返して空間中を一様に照らす,間接光 を近似値したもの 陰や影の部分にもある程度の明るさを与える 間接光を大まかに近似した光 ラジオシティ法:精密な間接光(相互反射) 環境光に対する物体面の反射光の強さ I ka I a ka: 環境光に対する反射率, Ia : 環境光の強さ 2006/06/12 Computer Graphics 21 (2)拡散反射 どの方向から見ても物体面の輝度が一定となる反射 視点位置による物体表面上の輝度変化はなし 入射光が物質内の浅い部分で多重散乱後,表面から放射 された光 拡散反射のみの面=完全拡散面(鏡面反射なし) 物体面の輝度は以下のものに依存 2006/06/12 光源の位置・方向 面の向き 面の反射率 視点に依存しない! Computer Graphics 22 拡散反射 〜平行光源の場合 平行光線が入射角αで平面を照射する場合 平行光線に対する拡散反射光の計算法 この面をθ方向から見た時の輝度は 入射角余弦の法則より, 平面に入射する光束はcosαに比例 I E Ii dScos 平行光線で照射された場合の拡散反射光の強さI ランバートの余弦則より, 物体面からθ方向への反射光の強度は dI (Ii dScos)cos 2006/06/12 dI kd Ii cos dS cos I kd Ii cos k d Ii N L 面の輝度は視線方向に依存しない! ka: 拡散反射率,Ii:入射光の強さ α:光の入射方向と面の法線のなす角(入射角) Computer Graphics 23 拡散反射 〜点光源の場合 点光源:光の強度が光源からの距離の2乗に反比例 点光源に対する物体面の拡散反射光の強さ I kd Iq r2 cos k d Iq r2 N L kd: 拡散反射率,Iq:点光源の光度,r:光源からPまでの距離 2006/06/12 N: 面の法線ベクトル,L: 光線の方向ベクトル Computer Graphics 24 光源の配光特性を考慮した例 配光特性の数式モデルの例 Iq Io 1 cos/2 ※Ioは灯軸方向の光度 2006/06/12 Computer Graphics 25 拡散反射 〜線光源の場合 線光源:蛍光灯など.点光源が直線上に並んだものとして計算 線光源に対する物体面の拡散反射光の強さ kd Iq I 2 r L 0 cos cos dl 2 r kd: 拡散反射率,Iq:線光源の単位長さ当たりの 灯軸方向の光度,L: 線光源の長さ,r:PQ間の距離 2006/06/12 Computer Graphics 26 拡散反射 〜面光源の場合 面的な広がりを持つ光源に対する拡散反射 面光源,多面体光源など (a)面光源→表面上の輝度は,点Pでの光源の立体角の正射影面積に比例 (b)多面体光源→区分求積法により計算 (a) 面光源 I kd La A ka: 拡散反射率,La:光源の輝度 A’:点Pでの光源の立体角の正射影面積 (b) 多面体光源 k d La m I l cosl 2 l1 ka: 拡散反射率,La:光源の輝度,βl: PQlとPQl+1のなす角 δl:三角形PQlQl+1の法線と被照面の法線とのなす角 2006/06/12 Computer Graphics 27 面光源・多面体光源によるレンダリング例 2006/06/12 Computer Graphics 28 (3)鏡面反射 物体表面での直接反射によって生じる 光沢のあるプラスチックや金属表面上のハイライトなど 入射角=反射角の時,最も強く反射 反射光の強度は以下に依存 2006/06/12 光源の方向と物体面の向き,面の反射特性,視点方向 Computer Graphics 29 鏡面反射 〜フォンのモデル 代表的な鏡面反射計算:フォンのモデル 視点方向と正反射方向のなす角γにより,鏡面反射成分を減少させる フォンのモデルによる鏡面反射光の強さの算出 I W Ii cosn W Ii R V n W(α)(=ks) : 拡散反射率,Ii:入射光の強さ,γ:視点方向と正反射方向のなす角 n: ハイライト特性制御パラメータ 2006/06/12 Computer Graphics 30 各反射成分の統合 環境、拡散、鏡面反射の3要素を考慮した場合の反射光 の強さ I ka Ia Ii kd cos ks cosn 環境 拡散 鏡面 nおよび反射率を変化させた場合の比較 上の段はks=0.3、下の段は=0.6 nは左から3, 5, 10, 100 2006/06/12 Computer Graphics 31 (4)完全鏡面反射・透過・屈折 完全鏡面反射:鏡など,正反射方向の物体が表面に映り込む 透過・屈折:透過した先の物体が透けて(歪んで)見える 物体が反射だけでなく,透過・屈折を起こす場合 表面上の反射特性のみでは不十分 レイトレーシングなどで,物体内部の透過,屈折を考慮 レイ:反射方向+透過・屈折方向 →これらを求める必要! レイの追跡における終了条件(再帰的に) 2006/06/12 レイが拡散反射面(完全鏡面反射も透過・屈折もなし)に当たった場合 レイが交差する物体がシーン中に存在しない場合(背景の色とする) Computer Graphics 32 (4-1)正反射方向のレイの算出 正反射: 入射角=反射角 面の向き(法線ベクトルN)と視点方向(視点方向ベク トルV)から,正反射方向ベクトルを求める 正反射方向ベクトルR ˆ R V 2N ˆ V V ˆ N ˆ V 正反射方向の単位ベクトル R 1 ˆ N ˆ V ˆ R V ˆ N ˆ R R R 2006/06/12 Computer Graphics 33 (4-2)屈折方向のレイの算出 透明,半透明な物体 面の法線ベクトル,視点方向ベクトル,2つの媒質の屈 折率(n1, n2)を既知として,屈折方向ベクトルTを計算 光は屈折率の異なる媒質の境界で 屈折 屈折→スネルの法則に基づき計算 n1sinθ1=n2sinθ2 kf: 屈折の程度を表す係数,これを求れば良い n1sinθ1=n2sinθ2(スネルの法則) n sin1 n 2 n1 sin2 ˆ V N sin1 2006/06/12 ˆ 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 34 (4-2)屈折方向のレイの算出(つづき) 透明,半透明な物体 光は屈折率の異なる媒質の境界で 屈折 屈折→スネルの法則に基づき計算 n1sinθ1=n2sinθ2 両辺を2乗、(N+V)・N=0より 2 n2 2 ˆ ˆ kf N V N kf k f 2 V 2 2 1 2 ˆ V 2 n 2 V N 2006/06/12 Computer Graphics 35 (4-3)反射率と透過率の算出 異なる屈折率を持つ媒質境界での反射率kr フレネルの式から算出 2 2 1 sin 1 2 tan 1 2 kr 2 2 sin 1 2 tan 2 1 2 各レイにおける最終的な光の強さIv Iv kr Ir k t It 反射方向からの光の強さ 2006/06/12 ただし,透過率kt=1-kr 屈折方向からの光の強さ Computer Graphics 36 (5)散乱・減衰 媒体に散乱粒子が含まれる場合に考慮 空気分子,水蒸気,塵,煙,霧,雲,水分子 等 レイマーチング法 レイに沿って微小距離ずつ移動しながら,視点に到達するまでの 減衰を考慮して散乱光を加算し,輝度を決定 1.点Qからの反射光成分 2.光路PEQ間の点Rにおいて,光源からの光が 視点方向へ散乱された光の成分 2006/06/12 Computer Graphics 37 散乱・減衰を考慮したレンダリングの例 2006/06/12 Computer Graphics 38 次回講義内容 レンダリング(3) その他、シェーディング技法 2006/06/12 スムーズシェーディング(グロー、フォン) 影付け(shadowing) 大域照明モデル Computer Graphics 39
© Copyright 2024 ExpyDoc