sic - コンピュータ・グラフィックスyaoki/cg/cg2008-08.pdfcomputer graphics 3...

16
1 10 JUNE コンピュータ・グラフィックス 2008年度版 Computer Graphics 慶応義塾大学理工学部 電子工学科 准教授 [email protected]

Upload: others

Post on 25-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

1

10 JUNE

コンピュータ・グラフィックス

青 木 義 満

2008年度版

Computer Graphics

慶応義塾大学理工学部 電子工学科 准教授

[email protected]

Page 2: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

2

Computer Graphics 3

 レンダリング(4章 p.95)  写実的表現法(4-1, p.96)  隠面消去(4-2, p.100)

Computer Graphics 4

 レンダリングとは?   モデリングによって定義された3次元物体に対し、カメラや光源の位置や方向を指定し、光の物理的な性質に基づいて描画を行うこと

 写実的表現法   幾何学的形状表現+物体の材質感   物体表面での光の反射・透過・屈折特性を考慮   コンピュータ内部の3Dモデルから写実的画像を生成するための手法   → フォトリアリスティック・レンダリング

Page 3: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

3

Computer Graphics 5

隠線消去

隠面消去

シェーディング

テクスチャ

写実的表現のレベル

Computer Graphics 6

 リアリティの向上に関与する要素

  遠近感   透視投影   デプスキューイング

  可視面表示   隠線消去   隠面消去

  表面の明るさ(陰影付け),影の表示   物体属性:材質,表面の滑らかさ,色(反射特性)   反射光計算(直接光+間接光)

Page 4: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

4

Computer Graphics 7

  写実的表現のレンダリング処理の流れ

ベクタデータ ラスタデータ テクスチャマッピング等

Computer Graphics 8

  バックフェース・カリング   視点から不可視の裏面(back face)を除去   物体の表の面と裏の面を判定する必要

表の面/裏の面の判別方法(数式記入)

Page 5: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

5

Computer Graphics 9

  平面:同一直線上にない3点で一意に決定   法線ベクトル:ポリゴンを構成する3頂点から算出可能

シェーディングにおいても重要!

Computer Graphics 10

  バックフェースカリングで対応できないケース   シーンに複数の物体が含まれる場合(他物体による遮蔽)   凹形状の物体(自己遮蔽)

Page 6: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

6

Computer Graphics 11

 処理を行う空間により3分類

  物体空間アルゴリズム   3D空間で隠面消去判定を直接行う

  画像空間アルゴリズム   投影面上のスキャンライン(走査線)や画素(ピクセル)単位で隠面消去

  スキャンライン法,Zバッファ法,レイトレーシング等

  優先順位アルゴリズム   面の可視性の優先順位に基づき隠面消去。物体空間アルゴリズムと画像空間アルゴリズムの中間

Computer Graphics 12

  奥行きソート法   可視性の優先順位に従って面をソート,可視性の低い遠方の面から順にフレームバッファに重ね描きする方法

  ポリゴン重心などの代表点における奥行き値でソート

Page 7: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

7

Computer Graphics 13

Computer Graphics 14

  スキャンライン(走査線)に基づいて隠面消去を行う方法

Page 8: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

8

Computer Graphics 15

Computer Graphics 16

  ポリゴンの辺とスキャンラインとの交点を求め, ポリゴンに含まれる画素を決定

  全てのスキャンラインについてこの処理を実行, ポリゴン内部の画素を塗りつぶす   ベクタ → ポリゴンのラスタ化

  辺の傾きを求めておくことで, 増分法により高速に交点算出

増分法による交点算出(数式記入)

Page 9: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

9

Computer Graphics 17

 長所  所要メモリ:スキャンライン一本分の両端点のx座標値を記憶する配列のみ

 ポリゴン数が多くてもメモリ消費小,計算量小

 短所  アルゴリズムの実装がやや複雑  反射による映り込みや屈折を生じる物体に適用不可

Computer Graphics 18

  奥行きを画素ごとに格納するZバッファの値により,各画素の描画色を決定

Page 10: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

10

Computer Graphics 19

Computer Graphics 20

奥行き計算法(数式記入)

Page 11: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

11

Computer Graphics 21

  フレームバッファの他にZバッファが必要だが,アルゴリズムが簡単でハードウェア化が容易

  GPUの多くで採用,隠面消去リアルタイムレンダリング

  画素単位の計算で,平面ポリゴンの他,曲面にも適用可能

  面の交差にも対応可能

Computer Graphics 22

  レイ(光線)という1次元線分上での交点の前後判定による隠面消去法   cf. スキャンライン法:2次元走査平面上でのセグメントの可視判定による隠面消去

※物体の反射・透過・屈折特性も考慮可能

Page 12: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

12

2007/06/05 Computer Graphics 23

Computer Graphics 24

  レイと球の交差判定

Page 13: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

13

Computer Graphics 25

  判別式D>0 → 2点で交差   t1, t2 > 0の場合

  t1, t2 < 0の場合

  t1>0, t2<0 又は t1<0, t2>0の場合

  D=0 → レイと球は接する

  D<0 → 交差なし

Computer Graphics 26

  ポリゴンを含む平面とレイとの交点を求める   交点がポリゴン内部にあるかどうかを判定

t>0: 視点の前方で交差 t<0: 視点後方に平面 t=0: 視点が平面上に存在 E・N=0: レイと平面が平行

平面

Page 14: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

14

Computer Graphics 27

  点を端点とする半直線とポリゴンの辺との交点の個数をカウントして判定

Computer Graphics 28

  点とポリゴンの各頂点を結ぶベクトルの外積の方向をチェックする方法

Page 15: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

15

Computer Graphics 29

  点とポリゴンの各頂点を結ぶベクトル間の角度を加算する方法

Computer Graphics 30

  バウンディングボリュームの利用

  空間分割法

  並列計算による方法

Page 16: SIC - コンピュータ・グラフィックスyaoki/cg/CG2008-08.pdfComputer Graphics 3 レンダリング(4章 p.95) 写実的表現法(4-1, p.96) 隠面消去(4-2, p.100)

16

Computer Graphics 31

  形状モデルとの交差判定が直線   交点計算と可視点の決定が他の隠面消去法に比べ単純   処理に必要となるメモリも小   ソフトウェアでの実装も容易   ポリゴンだけでなく、球や円錐,パラメトリック曲面など 関数表現された物体も適用可能

  幾何光学に基づく手法   反射,透過,屈折など複雑な光学現象のシミュレーション,表現が可能

  鏡、ガラス、雲、波など

  画素毎の処理   多くの計算時間(レイの数に依存)   高速化の工夫が必要

Computer Graphics 32

 レンダリング(2)   シェーディング