五社案内 アクセス 戸隠へのQRコード読み取りで 戸隠神社ホームページ にアクセスできます。地蔵前 商工会館前 戸隠 宝光社 バス 戸隠営業所
隠れ面の消去を行う - 名大の授業 (NU OCW)ocw.nagoya-u.jp/files/34/CS12.pdf8...
Transcript of 隠れ面の消去を行う - 名大の授業 (NU OCW)ocw.nagoya-u.jp/files/34/CS12.pdf8...
1
隠れ面の消去を行う
教科書 7章
2
レンダリング
図形や形状を写実的に表示するための技術を総称してレンダリング(rendering)と呼ぶ.
隠れ面消去Zバッファ法(Z-buffer algorithm)スキャンライン法(scan-line algorithm)
シェーディング(shading)フラットシェーディング(flat shading)あるいはコンスタントシェーディング(constant shading)スムーズシェーディング(smooth shading)
グーロー(Gourand)シェーディング
フォン(Phong)シェーディング
3
レンダリング(const.)
総称してレンダリング(rendering)と呼ぶ.(cont.)テクスチャマッピング(texture mapping)
画像マッピング
バンプマッピング(bump mapping)環境マッピング
反射マッピング
屈折マッピング
ソリッドテクスチャマッピング
レイトレーシング(ray tracing)
4
隠れ面消去
ポリゴン(多角形平面)でモデル化された3次元
オブジェクトを対象にして,投影による不可視面を消去する技術を隠れ面消去と呼ぶ.
5
隠れ面消去(cont.)
ポリゴンの外向き法線ベクトルを用いる方法ポリゴンの外向き法線ベクトル N と視線の方向ベクトル E の内積を用いる.
問題点
N
E
( ) ( )( )( )
1 0 2 0
0
0
= − × −
⋅ ≥
⋅ <
N P P P P
N E
N E
可視
不可視1P0P
2P
6
隠れ面消去(cont.)Zバッファ法
画素(ピクセル)ごとの奥行き値(正規化視座標系の z 値)を格納するメモリ(Zバッファ)を用いる方法をZバッファ法と呼ぶ.
手順画素ごとの色を格納するメモリ(フレームバッファ)の他に,Zバッファを用意する.
すべての画素 (x,y) に対して,フレームバッファ値 f(x,y) に背景色, Zバッファ値 b(x,y) は背景の距離に初期化する.
すべてのポリゴンに対して,対象ポリゴンの画素 (x,y) における奥行き値 z (x,y) を求め,次式の書き換えを行う.
( ) ( )( ) ( ) ( ) ( )
If , , , then
, : , and , :
z x y b x y
b x y z x y f x y
<
= = 対象ポリゴンの色
7
隠れ面消去(cont.)
スキャンライン法
画面上の走査線(スキャンライン)単位で隠面消去を行う方法をスキャンライン法と呼ぶ.
手順
視線方向を向いたすべてのポリゴンを正規化視座標系に変換し,各ポリゴンの最大・最小 y 値,ポリライン(セグメント)ごとの最大・最小 y 値を求め,最小 y 値の昇順でソート(Yソート)する.
スキャンライン平面
8
隠れ面消去(cont.)手順(cont.)
スキャンラインごとに次のこと行う.
スキャンライン平面とすべての平面の交差を調べ,交差するすべてのポリラインの最大・最小 x 値を求め,最小 x 値の昇順でソート(Xソート)したリスト(アクティブセグメントリスト)を作成する.
アクティブセグメントリストのポリラインデータを z 値の昇順でソート(Zソート)し, z 値が最小のポリゴンの色をフレームバッファに格納する.
特徴隣り合うスキャンラインのアクティブセグメントリストの類似性(コヒーレンス coherence)を利用している.
9
シェーディングとマッピングを行う
教科書 8章
10
シェーディング
物体表面から視点に到達する光の輝度を計算方法をシェーディング(shading)と呼ぶ.
3原色(RGB)それぞれに対して輝度が定義されていると考える.
光の輝度成分 I= Id+ Is+ Ia拡散反射成分(ランバート(Lambert)則)
Id= Iin Kd cosθ = Iin Kd (N⋅L)Iin 入射光輝度
Kd 拡散反射率(0≤Kd ≤1)θ 入射角(0≤θ ≤π/2)
θinI N
L
11
シェーディング(cont.)
光の輝度成分(cont.)鏡面反射成分(フォン(Phong)モデル) Is= Iin Ks (cosα)n = Iin Ks (N⋅E)n
Iin 入射光輝度,Ks 鏡面反射率(0≤Kd ≤1),α 全反射方向と視線ベクトルのなす角,n 反射光の鋭さ (n>0)
θinI θ
αNE
12
シェーディング(cont.)
光の輝度成分(cont.)環境光反射成分 Ia= Iamp Ka
Iamb 環境光の輝度
Ka 反射係数(0≤Kd ≤1)屋外シーンでは Id,Is の 10%~20%を Ia とする.
室内ではラジオシティ (radiosity)法(面のパッチに出入りするす
べての光を考慮した輝度計算法)が用いられる.
透過光成分 It= I0 dI0 物体後方の光の屈折方向における輝度
d透過係数(0≤d ≤1)
13
スムーズシェーディング
多面体モデルをそのままシェーディングする方法をフラットシェーディングあるいはコンスタントシェーディングと呼ぶ.
多面体モデルを擬似的に曲面に見せる方法をスムーズシェーディングと呼ぶ.
グーローシェーディング
フォンシェーディング
14
スムーズシェーディング(cont.)
ポリゴンの頂点のみで輝度計算を行い,ポリゴン内部を線形補間する方法をグーローシェーディングあるいは輝度補間法と呼ぶ.
各頂点の平均法線ベクトルを計算する.
平均法線ベクトルを用いて輝度 Iを計算する.
ポリゴン内部を1次内挿補間する.
2N11
m
i
m==∑N
N
1N
3N
4N 1L2L
3L
15
スムーズシェーディング(cont.)
各頂点の平均法線ベクトルからポリゴン内部の法線ベクトルを線型補間する方法をフォンシェーディングあるいは法線補間法と呼ぶ.
各頂点の平均法線ベクトルを計算する.
平均法線ベクトルを用いてポリゴン内部の法線ベクトルを1次内挿補間する.
ポリゴン内部の法線ベクトルから輝度 Iを計算する.
1L2L
3L
16
テクスチャマッピング
3次元オブジェクトの表面に,表面の形状に沿って模様(texture)を貼り付ける処理をテクスチャマッピングと呼ぶ.
画像データのマッピングツーパートテクスチャマッピング
バンプマッピング
環境マッピング反射マッピング
屈折マッピング
ソリッドテクスチャ
17
テクスチャマッピング(cont.)
画像データのマッピング2次元の画像データを3次元オブジェクトの表面に貼り
付ける処理を狭義のテクスチャマッピングと呼ぶ.
オブジェクトの周囲に画像データをマッピングした面を設けて,オブジェクト表面からの法線と交差したマッピング平面の色を立体表面の色とする方法をツーパートテクスチャマッピングと呼ぶ.
18
テクスチャマッピング(cont.)
バンプマッピング
オブジェクト表面の細かな凸凹を法線方向の変化のみで輝度の変化を計算する方法をバンプマッピングと呼ぶ.
19
テクスチャマッピング(cont.)
環境マッピング
オブジェクトの周囲に背景や前景をマッピングした面を設けて,視点から到達した色を表示する方法を環境マッピングと呼ぶ.
反射マッピング:オブジェクト表面で反射を1回行う.
屈折マッピング:オブジェクト表面で屈折を1回行う.
20
テクスチャマッピング(cont.)
ソリッドテクスチャ3次元空間のテクスチャを数式やアルゴリズムで作成
し,オブジェクトの表面から内部に連続しているテクスチャを表現する方法をソリッドテクスチャと呼ぶ.
木材や岩石などの表現で使われている.
21
レイトレーシングを学ぶ
教科書 9章
22
レイトレーシング
目に到達するまでの光を逆に辿ることによって色を計算する方法をレイトレーシングと呼ぶ.
23
レイトレーシング(cont.)
レイトレーシングのアルゴリズム
空間中に視点とスクリーンを定義する.
各画素について,次の計算を行う.
画素点と視点を直線(レイ)を作成する.
レイとすべてのオブジェクトとの交点を求める.
交点がなければ,その画素の輝度は背景色とする.
交点があれば,視点に一番近い交点を可視点とし,可視点の輝度を計算し,その画素の輝度とする.
24
レイトレーシング(cont.)
可視点の輝度計算光源からの光が直接可視点で反射してきた成分∑光源数 Id+ ∑光源数 Is
他のオブジェクトでの反射光(完全鏡面反射のみを考慮)が可視点で反射した成分
kr1Ir1
光源あるいは他の物体からきた光が屈折した成分
kr2Ir2
25
レイトレーシング(cont.)
可視点の輝度計算(cont.)光源 Id
l (l=1,2,…,L) のとき,一つの可視点について
輝度の合計を計算する.
その際,そこで必要となる他のオブジェクトからの反射光・屈折光はそれぞれの点での輝度の合計を計算する.
反射光・屈折光の回数が上限値に達するまで繰り返す.
視点
光源
反射屈折
可視点
26
参考文献
1. コンピュータグラフィックス, 前川佳徳(編著), オーム社, 2001.
2. 3次元CADの基礎と応用, 鳥谷浩志,千代倉弘明 編著, 共立出版, 1991.