Computer Graphics 第7回 レンダリング(1) 写実的表現法,隠面消去法 芝浦工業大学情報工学科 青木 義満 講義内容 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100) 2006/05/29 Computer Graphics 2 レンダリング レンダリングとは? モデリングによって定義された3次元物体に対し、カ メラや光源の位置や方向を指定し、光の物理的な性 質に基づいて描画を行うこと 写実的表現法 幾何学的形状表現+物体の材質感 物体表面での光の反射・透過・屈折特性を考慮 コンピュータ内部の3Dモデルから写実的画像を生成 するための手法 → フォトリアリスティック・レンダリング 2006/05/29 Computer Graphics 3 写実的表現のレベル 低 隠線消去 隠面消去 テクスチャ シェーディング 高 写実的表現のレベル 2006/05/29 Computer Graphics 4 リアリティの要素 リアリティの向上に関与する要素 遠近感 可視面表示 透視投影 デプスキューイング 隠線消去 隠面消去 表面の明るさ(陰影付け),影の表示 2006/05/29 物体属性:材質,表面の滑らかさ,色(反射特性) 反射光計算(直接光+間接光) Computer Graphics 5 レンダリングを構成する処理 写実的表現のレンダリング処理の流れ ベクタデータ 2006/05/29 ラスタデータ Computer Graphics テクスチャマッピング等 6 隠面消去(p.100) バックフェース・カリング 視点から不可視の裏面(back face)を除去 物体の表の面と裏の面を判定する必要 表の面/裏の面の判別方法(数式記入) 2006/05/29 Computer Graphics 7 法線ベクトルの算出 平面:同一直線上にない3点で一意に決定 法線ベクトル:ポリゴンを構成する3頂点から算出可能 シェーディングにおいても重要! 2006/05/29 Computer Graphics 8 バックフェースカリングの問題点 バックフェースカリングで対応できないケース シーンに複数の物体が含まれる場合(他物体による遮蔽) 凹形状の物体(自己遮蔽) 2006/05/29 Computer Graphics 9 代表的な隠面消去法 処理を行う空間により3分類 物体空間アルゴリズム 画像空間アルゴリズム 投影面上のスキャンライン(走査線)や画素(ピクセル)単位 で隠面消去 スキャンライン法,Zバッファ法,レイトレーシング等 優先順位アルゴリズム 2006/05/29 3D空間で隠面消去判定を直接行う 面の可視性の優先順位に基づき隠面消去。物体空間アルゴリズ ムと画像空間アルゴリズムの中間 Computer Graphics 10 優先順位アルゴリズム(例:奥行きソート法) 奥行きソート法 2006/05/29 可視性の優先順位に従って面をソート,可視性の低い遠方 の面から順にフレームバッファに重ね描きする方法 ポリゴン重心などの代表点における奥行き値でソート Computer Graphics 11 奥行きソート法の問題点 2006/05/29 Computer Graphics 12 スキャンライン法 スキャンライン(走査線)に基づいて隠面消去を行う方法 2006/05/29 Computer Graphics 13 スキャンライン法のアルゴリズム 2006/05/29 Computer Graphics 14 ポリゴンの走査変換 増分法による交点算出(数式記入) ポリゴンの辺とスキャンラインとの交点を求め, ポリゴンに含まれる画素を決定 全てのスキャンラインについてこの処理を実行, ポリゴン内部の画素を塗りつぶす ベクタ → ポリゴンのラスタ化 辺の傾きを求めておくことで, 増分法により高速に交点算出 2006/05/29 Computer Graphics 15 スキャンライン法の特徴 長所 所要メモリ:スキャンライン一本分の両 端点のx座標値を記憶する配列のみ ポリゴン数が多くてもメモリ消費小,計 算量小 短所 2006/05/29 アルゴリズムの実装がやや複雑 反射による映り込みや屈折を生じる物体 に適用不可 Computer Graphics 16 Zバッファ法 奥行きを画素ごとに格納するZバッファの値により,各 画素の描画色を決定 2006/05/29 Computer Graphics 17 Zバッファ法のアルゴリズム 2006/05/29 Computer Graphics 18 Zバッファ法 〜ポリゴンの奥行き(z値)計算 奥行き計算法(数式記入) 2006/05/29 Computer Graphics 19 Zバッファ法の特徴 フレームバッファの他にZバッファが必要だが,アルゴリズ ムが簡単でハードウェア化が容易 GPUの多くで採用,隠面消去リアルタイムレンダリング 画素単位の計算で,平面ポリゴンの他,曲面にも適用可能 面の交差にも対応可能 2006/05/29 Computer Graphics 20 レイトレーシング法(光線追跡法) レイ(光線)という1次元線分上での交点の前後判定による隠面消去法 cf. スキャンライン法:2次元走査平面上でのセグメントの可視判定による隠面消去 ※物体の反射・透過・屈折特性も考慮可能 2006/05/29 Computer Graphics 21 レイトレーシング法によるレンダリング画像例 2006/05/29 Computer Graphics 22 レイと物体の交差判定 レイと球の交差判定 2006/05/29 Computer Graphics 23 交差判定条件 判別式D>0 → 2点で交差 t1, t2 > 0の場合 t1, t2 < 0の場合 t1>0, t2<0 又は t1<0, t2>0の場合 D=0 → レイと球は接する D<0 → 交差なし 2006/05/29 Computer Graphics 24 レイとポリゴンとの交差判定 ポリゴンを含む平面とレイとの交点を求める 交点がポリゴン内部にあるかどうかを判定 平面 t>0: 視点の前方で交差 t<0: 視点後方に平面 t=0: 視点が平面上に存在 E・N=0: レイと平面が平行 2006/05/29 Computer Graphics 25 交点がポリゴン内部にあるかどうかの判定(1) 点を端点とする半直線とポリゴンの辺との交点の個数を カウントして判定 2006/05/29 Computer Graphics 26 交点がポリゴン内部にあるかどうかの判定(2) 点とポリゴンの各頂点を結ぶベクトルの外積の方向をチ ェックする方法 2006/05/29 Computer Graphics 27 交点がポリゴン内部にあるかどうかの判定(3) 点とポリゴンの各頂点を結ぶベクトル間の角度を加算す る方法 2006/05/29 Computer Graphics 28 レイトレーシングの高速化 バウンディングボリュームの利用 空間分割法 並列計算による方法 2006/05/29 Computer Graphics 29 レイトレーシング法の特徴 形状モデルとの交差判定が直線 交点計算と可視点の決定が他の隠面消去法に比べ単純 処理に必要となるメモリも小 ソフトウェアでの実装も容易 ポリゴンだけでなく、球や円錐,パラメトリック曲面など 関数表現された物体も適用可能 幾何光学に基づく手法 反射,透過,屈折など複雑な光学現象のシミュレーション,表 現が可能 鏡、ガラス、雲、波など 画素毎の処理 2006/05/29 多くの計算時間(レイの数に依存) 高速化の工夫が必要 Computer Graphics 30 次回講義内容 レンダリング(2) 2006/05/29 シェーディング Computer Graphics 31
© Copyright 2024 ExpyDoc