Presentation is loading. Please wait.

Presentation is loading. Please wait.

免許法認定公開講座: コンピュータグラフィックス

Similar presentations


Presentation on theme: "免許法認定公開講座: コンピュータグラフィックス"— Presentation transcript:

1 免許法認定公開講座: コンピュータグラフィックス
コンピュータグラフィックス 第3回 2005/12/4 免許法認定公開講座: コンピュータグラフィックス 第3回 3次元グラフィックス技術 九州工業大学 情報工学部 システム創成情報工学科 尾下 真樹

2 講義担当 尾下 真樹 (おした まさき) TA 3名 九州工業大学 情報工学部 システム創成情報工学科 助教授
九州工業大学 情報工学部 システム創成情報工学科 助教授 居室:飯塚キャンパス 研究棟 W623 TA 3名 寺崎、池上 (天神) 吉屋 (飯塚)

3 本講義の目標 グラフィックスの基礎的な知識を理解する グラフィックスの基本的なプログラミング
映画やコンピュータゲームなどの映像が、どのような技術によって実現されているか? あまり詳しい理論までは踏み込まず、なるべく直感的に理解する グラフィックスの基本的なプログラミング 画像処理や 3次元グラフィックスの簡単なプログラムを作ることで、グラフィックス技術への理解を深めるとともに、プログラミングにも慣れる

4 講義の内容 講義(7コマ) 演習(11コマ) 成績評価 パワーポイントによるスライドを使った講義 画像処理 3次元グラフィックス
各講義の終わりにミニテスト 演習(11コマ) 画像処理 3次元グラフィックス それぞれの演習についてレポートを提出 成績評価 ミニテスト(30点) + レポート(30点+40点)

5 講義予定 1日目 2日目 3日目 4日目 講義(イントロダクション、2次元グラフィックス技術) 演習(画像処理)
講義(3次元グラフィックス技術) 3日目 演習(3次元グラフィックス) 4日目 講義(アニメーション、最新グラフィックス技術)

6 今日の予定 1~2限目 講義 3~5限目 自由演習+レポート作成 3次元コンピュータグラフィックスの技術 途中、数回のミニテスト
1~2限目 講義 3次元コンピュータグラフィックスの技術 途中、数回のミニテスト 3~5限目 自由演習+レポート作成 画像処理演習の補足説明 (3限目) 各自、画像処理演習の続き (3~5限目) レポートを提出したら帰って良い

7 教科書・参考書 「ビジュアル情報処理」 CG-ARTS協会 編集・出版(2,500円)
検定試験・カリキュラムの標準テキスト 内容は、コンピュータグラフィックス+画像処理 「コンピュータグラフィックス」 CG-ARTS協会 編集・出版(3,200円) コンピュータグラフィックスをより詳しく扱ったもの

8 3次元グラフィックスの技術

9 コンピュータグラフィックスの分類 2次元グラフィックス 3次元グラフィックス 画像データ(2次元)を扱う
画像処理、符号化 などの技術 3次元グラフィックス シーンデータ(3次元) → 画像データ(2次元) 出力データは、あくまで2次元になることに注意

10 3次元グラフィックス CG画像を生成するためのしくみ 仮想空間にオブジェクトを配置 仮想的なカメラから見える映像を計算で生成
オブジェクトやカメラを動かすことでアニメーション オブジェクト 生成画像 光源 カメラ

11 3次元グラフィックスの要素技術 コンピュータグラフィックスの主な技術 オブジェクトの作成方法 いかに自然な画像を高速に計算するか
オブジェクトの形状表現 オブジェクト 生成画像 表面の素材の表現 動きのデータの生成 光源 画像処理 カメラ 光の効果の表現 カメラから見える画像を計算

12 モデリング 教科書 3章(74~94ページ)

13 モデリング 3次元オブジェクトの形状を計算機上で表現・作成するための技術 オブジェクトの作成方法 オブジェクトの形状表現 オブジェクト
生成画像 表面の素材の表現 動きのデータの生成 光源 画像処理 カメラ 光の効果の表現 カメラから見える画像を計算

14 データ表現方法 サーフェスモデル ソリッドモデル その他のモデル ポリゴンモデル 曲面パッチ サブディビジョンサーフェス CSGモデル
特殊なデータに向いた表現

15 サーフェスモデル サーフェスモデル 物体の表面の形状のみを表現するモデル 現在、広い用途で一般的に使われているモデル
中身のデータは持たない 現在、広い用途で一般的に使われているモデル データ量を増やすことで、詳細な形状を表現できる データ量を減らすことで、高速に描画できる 表面形状の表現には、ポリゴン(多角形)、パラメトリック曲面、再分割曲面、などが使われる

16 ポリゴンモデル ポリゴン(多角形)の集合によって表面形状 (サーフェス)を構成

17 ポリゴンモデルの制約 穴が空いていてはいけない 隣接するポリゴン同士は辺を共有している 必要がある(必ずしも守られない場合もある)

18 ポリゴンモデルの特徴 メリット デメリット 用途 全てポリゴンだけなので処理が単純(高速) 複雑な物体も表現できる
曲面を表現することが難しい データ量が大きくなる 用途 現在主に使用されている技術 特に、コンピュータゲームなど、高速に描画する必要のある用途に向いている

19 ポリゴンモデルの表現例 四角すいの例 4個の頂点 と 6枚の三角面(ポリゴン) によって表現できる (4枚の三角面と1枚の四角面でも可)
各三角面は、どの頂点により構成されるかという情報を持つ 三角面 { V0, V3, V1 } { V0, V2, V4 } { V0, V1, V2 } { V0, V4, V3 } { V1, V3, V2 } { V4, V2, V3 } y V0 (0.0, 0.8, 0.0) x V4 V2 V3 V1 (1.0, -0.8, 1.0) z

20 ポリゴンモデルの表現例(続き) プログラム内での四角すいの表現例 // 頂点数・三角面数
const int num_vertices = 5; const int num_triangles = 6; // 角すいの頂点座標の配列 static float pyramid_vertices[ num_vertices ][ 3 ] = { { 0.0, 1.0, 0.0 }, { 1.0,-0.8, 1.0 }, { 1.0,-0.8,-1.0 }, {-1.0,-0.8, 1.0 }, {-1.0,-0.8,-1.0 } }; // 角すいの三角面を構成する頂点番号の配列 static int pyramid_tri_index[ num_triangles ][ 3 ] = { { 0,3,1 }, { 0,2,4 }, { 0,1,2 }, { 0,4,3 }, { 1,3,2 }, { 4,2,3 } };

21 パラメトリック曲面 パラメトリック曲面 曲面パッチ 格子状の制御点に よって曲面を定義 少ないデータ量で 曲面が表現できる
曲面を張り合わせて 物体を表現 うまく接続するのが 難しい 教科書 p4 図1.2 教科書 p5 図1.4 約40枚のベジェ曲面で構成

22 パラメトリック曲面 パラメトリック曲面 2つのパラメータ (u,v) によって2次元空間の点(x,y,z) が定義される
曲面は n×m 個の制御点により定義される B(t)は重み関数 教科書 p4 図1.2

23 いろいろな曲面式 ベジェ曲面 有理ベジェ曲面 B-スプライン曲面 非一様有理B-スプライン曲面(NURBS) 頂点ごとに重み付けができる
2次曲面(球など)も表現できる B-スプライン曲面 非一様有理B-スプライン曲面(NURBS) 1990年代前半くらいまでは、曲面を含むモデルを表現するためにNURBSがよく使われていた 格子状の制御点でしか曲面を定義できないため、実際には複数の曲面パッチを組み合わせる必要がある 約40枚のベジェ曲面で構成 教科書 p5 図1.4

24 サブディビジョンサーフェス 細分割曲面(sub-division surface)
ポリゴンモデルのポリゴンをどんどん分割していくことで滑らかなポリゴンモデルを生成する技術 モデリングが容易、曲面パッチよりも使いやすい 少ないデータ量で表現可能(Web3Dなどに最適)

25 サーフェスモデルのまとめ サーフェスモデル 描画時はポリゴンモデルとして描画される ポリゴンモデル 曲面パッチ
サブディビジョンサーフェス(ポリゴンモデル) 描画時はポリゴンモデルとして描画される 現在の描画手法はポリゴンに特化されているので、ポリゴンに分割して描画した方が高速 曲面パッチやサブディビジョンを使うと、モデリングが容易で、データ量が少なくて済む

26 その他のモデリング手法 ワイヤーフレーム ソリッドモデル(CSGモデル) ボクセル パーティクル メタボール 高さフィールド

27 ワイヤーフレームモデル 稜線情報だけのモデル 図形を線だけで描画すれば良い場合に有効 頂点とそのつながり(辺)の情報だけを持つ
面の情報は持たない 図形を線だけで描画すれば良い場合に有効 現在はほとんど使われない 昔はディスプレの能力 が低く、線画しか描け ないこともあった

28 ソリッドモデル 「中身」を持ったモデル CSG(Constructive Solid Geometry) 表現 プリミティブ
プリミティブ(基本形状)の 組み合わせ(集合演算)に より複雑なオブジェクトを表現 プリミティブ 立方体、直方体、角すい 2次曲面 球、円柱、円すい、円環

29 集合演算の例 集合演算(ブーリアン演算) 和、積、差 A+B A×B A B B-A A-B コンピュータグラフィックス 第3回
2005/12/4 集合演算の例 集合演算(ブーリアン演算) 和、積、差 A+B A×B B-A A-B

30 CSG表現の例 集合演算のツリー構造によって物体を表現 教科書 p12 図1.14

31 ソリッドモデルの特徴 メリット デメリット 用途 簡単なオブジェクトであればデータ量が少なくて済む(計算量も少なくなる)
複雑なオブジェクトを表現することは難しい 用途 比較的単純な工業製品のデザインなどには適している 現在は、実用レベルではあまり使われていない

32 ボクセル(ヴォリュームデータ) ボクセルの色・濃度などによって立体を表す 立体の中身の情報が重要とされるような用途で利用
2次元格子データ(画像)の各要素はピクセル 3次元格子データ(立体)の各要素はボクセル 立体の中身の情報が重要とされるような用途で利用 CTスキャン、気体・流体の解析データなど ボクセルデータに特化した描画方法がある

33 パーティクル 細かい粒子の集まりによって物体を表す 炎や気体や流体などの不定形な物体 衣服や髪の毛などの柔らかい物体
対象の種類に応じて粒子の色・形、動きのモデルを設計 教科書 p117 図12.10 教科書 p120 図12.14

34 データ表現方法のまとめ サーフェスモデル ソリッドモデル その他のモデル ポリゴンモデル 曲面パッチ サブディビジョンサーフェス
CSGモデル その他のモデル ボクセル、パーティクル、 メタボール 等 曲面パッチ CSGモデル

35 3次元モデルの作成方法

36 3次元モデルの作成方法 市販のソフトウェアを利用する方法が一般的 実物の形状をセンサーで取得する方法もある(詳しくは後述)
基本的にはポリゴンを使ったモデリング 頂点や面のデータを直接修正 おおまかな形状を簡単に作るための機能もある おおまかなポリゴンモデルから、自動的になめらかな曲面パッチや再分割曲面を生成する機能もある プロの制作者でも、多くの時間や手間がかかる 実物の形状をセンサーで取得する方法もある(詳しくは後述)

37 モデリング用ソフトウェアの例 上から見た図 前から見た図 横から見た図

38 一般的なモデリングの手順 1.おおまかな形状を作成 2.細部の形状を調整
作成するオブジェクトの種類に応じて、なるべく簡単に全体的な形状を作れる方法を使用 2.細部の形状を調整 おおまかな形状を少しずつ分割・変形していく 最終的には頂点単位で細かく直接修正する 最初から頂点単位で直接モデリングしていくこともある

39 直接モデリング 3次元空間に点や面を直接入力していく モデルの修正のための操作
2次元の画面を使って3次元空間の点を入力するために、3面図が主に使われる 頂点を追加していき、それらをつなぐことで面を作成していく モデルの修正のための操作 頂点・面の移動 頂点・面の削除 辺・面の分割

40 3次元マウス 3次元座標を直接入力できるデバイス 特殊・高価なのであまり使われていない 一部のデザイン専門分野などで利用
3次元マウス Magellan, Logicad3D 3次元触覚デバイス PHANTOM, SensAble

41 おおまかな形状を作るための手法 平行移動体 回転体 集合演算 粘土のような変形操作

42 センサーによるモデルの取得 センサーを使ってカメラから物体までの距離を計測 奥行きの情報が撮れる 赤外線センサを使用
細かい点の集まりが データとして得られる 点群データをポリゴンモデ ルに変換 日経CG 2000年 9月号 p156

43 点群データの問題点 カメラから見える範囲しかスキャンできない 複数の方向からスキャンしたデータを合成する必要がある
物体が小さい場合は回転台に載せて周囲から撮影 方向1 方向2 日経CG 2000年 9月号 p158

44 センサーによるモデリングの特徴 メリット デメリット 主な用途 実物に則したモデルが得られる うまくいけば自動化できる(時間がかからない)
効率的なポリゴンモデルに変換するのが難しい 複数の視点のデータを統合するのが難しい 作成されたモデルを修正するのが難しい 主な用途 歴史的遺物などのなるべく正確な記録

45 モデリングのまとめ オブジェクトの表現方法 オブジェクトの作成方法 サーフェスモデル (ポリゴン、曲面パッチ)
ソリッドモデル (プリミティブと組み合わせ) その他 (ボクセル、パーティクル、メタボール) オブジェクトの作成方法 直接モデリング 平行移動体、回転体、集合演算 スキャナーによる点群データの取得

46 レンダリング 教科書 4章 96~100ページ

47 レンダリング レンダリング カメラから見える画像を 計算するための方法 オブジェクトの形状表現 光の効果の表現 表面の素材の表現
コンピュータグラフィックス 第3回 2005/12/4 レンダリング レンダリング カメラから見える画像を 計算するための方法 オブジェクトの形状表現 光の効果の表現 表面の素材の表現 動きのデータの生成 オブジェクトの作成方法 画像処理 カメラから見える画像を計算 オブジェクト 生成画像 光源 カメラ

48 レンダリング レンダリング カメラから見える画像を計算するための方法
コンピュータグラフィックス 第3回 2005/12/4 レンダリング レンダリング カメラから見える画像を計算するための方法 使用するレンダリングの方法によって、生成画像の品質、画像生成にかかる時間が決まる オブジェクト 生成画像 光源 カメラ

49 レンダリング手法 現在主に使用されているレンダリング手法 各手法の違い Zソート法 Zバッファ法 スキャンライン法 レイトレーシング法
速度と画質のトレードオフが存在 陰面消去の実現方法が異なる 反射・透過・屈折など、光の効果をどの程度 正確に実現できるかが異なる 低画質、高速度 OpenGL、DirectX などのリアルタイムレンダリングで主に使われている手法 高画質、低速度

50 カメラとビューポート ビューポート カメラから見える範囲 カメラの視界によって見える範囲(視野)、見え方が決まる
教科書 基礎知識 図2-21

51 カメラの視野 カメラの視野(視野角)の設定 対象物との距離や視野 角の設定によって見え 方が変わる 教科書 基礎知識 図2-27
CG制作独習事典 p.11 教科書 基礎知識 図2-27

52 透視変換 透視変換(perspective、パース) 遠くにあるものほど小さく見えるような描画を実現するための処理
教科書 基礎知識 図2-28

53 座標変換 座標変換 座標変換の詳細は次回の講義で説明 ワールド座標からビューポート座標系への変換
ビューポート座標系からスクリーンへの透視変換 行列演算によりこれらの処理を実現 座標変換の詳細は次回の講義で説明 y y y x x z z x z

54 陰面消去(陰面除去) 陰面消去(陰面除去)ともいう 見えるはずのない範囲を描画しない処理
普通に存在する面を全て描いたら、見えるはずのない面まで表示されてしまう 教科書 基礎知識 図2-21

55 色の計算 素材+光の影響により物体の色は決まる 教科書 基礎知識 図3-2

56 光のモデル 局所モデル 大域モデル 光源と面の関係のみから面の色を計算 反射光(拡散反射、鏡面反射) 他の面からの影響も考慮して面の色を計算
反射光・透過光・環境光 光のモデルについては次の「シェーディング」の項目で詳しく説明

57 反射・透過・屈折の表現 反射 透過 屈折 ある物体に他の物体が映る 透明な物体の後ろが透けて見える
透過が起こる時に、光線の角度が変化する現象 教科書 基礎と応用 図8-2

58 レンダリング手法 現在主に使用されているレンダリング手法 各手法の違い Zソート法 Zバッファ法 スキャンライン法 レイトレーシング法
速度と画質のトレードオフが存在 陰面消去の実現方法が異なる 反射・透過・屈折など、光の効果をどの程度 正確に実現できるかが異なる 低画質、高速度 高画質、低速度

59 Zソート法 Zソート法(ペインタ・アルゴリズム) 描画すべき面を奥にあるものから手前にあるものに順番にソート(整列)
奥の面から手前の面へ順番に描画していく 結果的に、奥の面は手前の面で隠れる 教科書 基礎知識 図2-30

60 Zソート法の問題点 面同士の前後関係を正しく判定できない 面同士が交差する時にうまく処理できない 完璧な解決方法はない
教科書 基礎と応用 図3.6

61 Zソート法の特徴 メリット デメリット 主な用途 高速 それほど余分なメモリ領域を必要としない 面同士の交差をうまく処理できない
ただし全ての面を描画するため無駄な点もある それほど余分なメモリ領域を必要としない 面をソートするためのメモリ領域のみ必要 デメリット 面同士の交差をうまく処理できない 主な用途 メモリの非常に限られる用途で、リアルタイムに描画する必要のあるような用途 (PlayStation1)

62 Zバッファ法 画像とは別に、それぞれのピクセルの奥行き情報であるZバッファを持つ Zバッファは画像とほぼ同じメモリサイズを使用
ピクセルあたり16ビット~32ビットを使用 ピクセル単位で処理するので交差も処理できる Zバッファの値(手前のピクセルを明るく描画)

63 Zバッファ法による描画の手順 アルゴリズム Zバッファの全ピクセルを無限遠で初期化
面を描く時に、各ピクセルの奥行き値を見て、これから描こうとしている面の方が奥にあればそのピクセルは描画しない 各ピクセルを書き込む時に、同時にその奥行き値をZバッファに書き込む

64 Zバッファ法の特徴 メリット デメリット 主な用途
ハードウェアでサポートされていれば、不必要なピクセルは描画しないで済むため、Zソート法より高速 処理が単純なので、ハードウェアで実現しやすい デメリット Zバッファのためのメモリを余分に必要とする 主な用途 メモリに余裕のある環境で、リアルタイムに描画する必要のあるような用途 現在のパソコン用グラフィックスカード、家庭用ゲーム機はほとんどこの技術を採用している ハードウェアによるZバッファをサポートしている

65 スキャンライン法 画像のそれぞれのラインごとに描画 ラインの各スパンごとにどの線分が描画されるかを判定し、それぞれのスパンを描画
教科書 基礎知識 図2.31

66 スキャンライン法の説明 教科書 3DCGアニメーション 図2.31

67 スキャンライン法の特徴 メリット デメリット 主な用途 メモリが少なくて済む より正確な透過が計算できる ジャギーを減らすことができる
処理が複雑(ハードウェア実装は困難) 時間がかかる(リアルタイムではまず無理) 主な用途 画質が非常に綺麗で、時間的にも許容範囲であるため、現在映画などに主に使われている

68 これまでの手法の問題 これまでの手法は、面単位で描画する技術 透過は処理できても、反射・屈折などはうまく再現できない
ただし、擬似的にこれらを実現する方法もある 環境マッピング

69 レイトレーシング法 最も高品質な(最も実写に近い)画像が得られる方法
カメラからそれぞれの ピクセルごとに視線 方向に半直線(レイ)を 飛ばし、物体との交差 判定によりピクセルの 色を計算 教科書 基礎知識 図2-33

70 レイトレーシング法の計算 反射・透過・屈折の計算 物体にぶつかったら、 反射・屈折成分を物体 の色に加えることで、 そのピクセルの色を決定
教科書 基礎と応用 図8.2 図8.3

71 レイトレーシング法の計算 反射・屈折のくり返し計算 何回も反射を計算しているときりがないので、一定回数できりあげる
教科書 基礎知識 図3-32

72 レイトレーシング法の特徴 メリット デメリット 主な用途 最も高品質 反射・透過・屈折もある程度正しく表現できる 計算に非常に時間がかかる
とにかく品質の要求される静止画像(ポスタ等) 映画などに使うには時間がかかりすぎる 実際には屈折の表現が必要な状況は少ないので、スキャンライン法でも十分な画質が得られる

73 レンダリング技術の比較 Zソート Zバッファ スキャンライン レイトレーシング リアルタイム処理、たまに不自然な画ができる
リアルタイム処理、それなりの画質が得られる スキャンライン まあまあの速度で、かなりの画質が得られる レイトレーシング 速度が遅すぎて実用的に使うのは難しいが、 画質は非常に高い (反射・屈折・透過)

74 背面消去 背面消去(後面消去、背面除去、後面除去) サーフェスモデルであれば、後ろ向きの面は描画は不要
後ろ向きの面の描画を省略することにより、描画処理を高速化するための工夫 サーフェスモデルであれば、後ろ向きの面は描画は不要 仮に描画したとしても、その後、手前側にある面で上書きされる 裏向きの面の描画を省略することで処理を高速化できる(単純に考えても、約半分に減らせる)

75 背面消去 後ろ向きの面の判定方法 視線ベクトル(カメラから面へのベクトル)と 面の法線ベクトルの内積により判定 教科書 基礎知識 図2-22
教科書 基礎と応用 図3.5

76 レンダリングのまとめ 基礎的な考え方 レンダリング手法 高速化のための工夫 カメラとビューポート(座標変換)、面単位で描画
陰面消去、光の効果(反射・透過・屈折)の表現 レンダリング手法 Zソート法、Zバッファ法、スキャンライン法、 レイトレーシング法 他の技術との組み合わせ(後述) 高速化のための工夫 並列処理、背面消去

77 シェーディング 教科書 4章 101~111ページ

78 シェーディング シェーディング 光の効果の表現 オブジェクトの形状表現 光の効果の表現 表面の素材の表現 動きのデータの生成
コンピュータグラフィックス 第3回 2005/12/4 シェーディング シェーディング 光の効果の表現 オブジェクトの形状表現 光の効果の表現 表面の素材の表現 動きのデータの生成 オブジェクトの作成方法 画像処理 カメラから見える画像を計算 オブジェクト 生成画像 光源 カメラ

79 光のモデル 光のモデル 光を種類に分けて考える 物体に光が当たることによって物体の色(輝度)が決まる 環境光 反射光 透過光 拡散反射光
鏡面反射光 透過光 基礎と応用 図8.2

80 光のモデル 局所照明モデル 大域照明モデル 光源と一枚の面の関係のみを 考慮したモデル 計算が比較的容易 周囲の物体の影響も考慮したモデル
環境光、拡散反射光、鏡面反射光 計算が比較的容易 大域照明モデル 周囲の物体の影響も考慮したモデル 環境光、鏡面反射光、透過光 計算には、レイトレーシングやラジオシティなどが必要 同じ種類の光でも考慮する範囲に応じて局所モデルと大域モデルがあるので注意

81 光の種類 環境光 拡散反射光 鏡面反射光 透過光・屈折光 周囲から来る光(大域) 一定として処理 (ラジオシティにより正確に計算できる)
光源から来て面を照らす光(局所) 鏡面反射光 面に反射して目に入って来る光 光源の反射(局所)と、周囲の物体の反射(大域)がある 透過光・屈折光 透明な物体の場合、裏側にある物体からの光

82 光のモデル 輝度の計算式 全ての光による影響を足し合わせることで、 物体上の点の輝度が求まる 環境光 拡散反射光 鏡面反射光 (局所照明)
鏡面反射光 (大域照明) 透過光 それぞれの光源からの光(局所照明) 大域照明 各係数の和は1

83 環境光 環境光(局所照明モデル) 環境光(大域照明モデル) 周囲からくる光
光源からの光が周囲の面に拡散反射した光 きちんと計算しようとすると非常に複雑なので、基本的には明るさ一定として処理 環境光(大域照明モデル) 環境光をより正しく計算するための手法を後で説明(ラジオシティ法)

84 反射光 拡散反射光(局所照明モデル) ランバー(Lambert)の余弦則 光源と一枚の面の位置関係だけを考慮
光の方向と面の法線の間の角度によって決まる 両者の向きが近いほど 明るくなる 基礎と応用 図2.9

85 反射光 鏡面反射光(局所照明モデル) フォン(Phong)のモデル ハイライトの表現 光の入射角と視線の角度が一致する時に最も明るくなる
ハイライトの例 鏡面反射光(局所照明モデル) フォン(Phong)のモデル ハイライトの表現 光の入射角と視線の角度が一致する時に最も明るくなる 基礎と応用 図2.10

86 反射光 鏡面反射光(大域照明モデル) レイトレーシングによるレン ダリングの時に考慮 反射先の物体上の点の色を とする
反射先の物体上の点の色を とする 鏡面反射光 (大域照明) 透過光 大域照明 基礎と応用 図8.2

87 透過光 透過光(大域照明モデル) レイトレーシングによるレンダリングの時に考慮 透明な物体を通り抜けてくる光
屈折の影響も考慮 (スネル(Snell)の法則) ( は物体の屈折率) 基礎と応用 図8.8

88 大域照明モデルの例 局所照明のみの場合と、大域照明(反射)を含む場合の比較 局所照明のみ 基礎と応用 図1.1
大域照明を考慮 基礎と応用 図8.9

89 光源の種類 平行光源 点光源 スポットライト光源 線光源、面光源 局所照明モデルのために、いくつかの単純な光源モデルを使用
下のものほど複雑で計算量が大きくなる 表現したい光源に応じて適切なモデルを使用

90 光源の種類 平行光源 点光源 一定方向からの光源 計算量が最も少ない 太陽などの遠くにある光源の 表現に適している 位置の決まった光源
ライトなどの表現に適している 光の方向は点光源と面の位置関係により決まる 光の減衰も考慮できる

91 光源の種類 スポットライト光源 線光源、面光源 位置と向きの決まった光源 スポットライトなどの表現に適している 沢山の点光源の集まりと考える
非常に計算時間がかかる 蛍光灯などの表現に使用

92 シェーディング ポリゴンモデルに当たる反射光(局所照明モデル)の効果をきれいに表現する技術
ポリゴンモデルを単純に描画すると、面ごとに色が急に変わることになり、角ばって見えてしまう 面の向き(法線)を操作して、なめらかに見せる 基礎知識 図3-12 基礎知識 図3-13

93 シェーディングの方法 フラットシェーディング スムーズシェーディング 単純に面の法線によって面の色をきめる方法
面の色をなめらかに変化させる方法 2種類の方法がある グローシェーディング フォンシェーディング

94 フラットシェーディング フラットシェーディング 面の法線をもとに面の色を決定 単一色で面を描画 面と面の境界がはっきりと分かってしまう
CG制作独習事典 p.4 p.16

95 グローシェーディング グローシェーディング (Gouraud Shading) 特徴 頂点の法線をもとに頂点の色を決定
頂点の色をなめらかに補間して面内の色を計算 特徴 フラットシェーディングより なめらかに見える 頂点の色を補間している だけなので、面内部の色は 正しくない場合もある

96 頂点の法線 頂点の法線 計算方法 もともと頂点には法線という概念はない 光の効果を計算するために仮の法線を計算
頂点に隣接する全ての 面の法線を平均 面の面積に応じて加重 平均する方法もある 基礎と応用 図4.2

97 フォンシェーディング フォンシェーディング (Phong Shading) 特徴 頂点の法線を補間して面内の法線を決定
面内の各点の法線にもとづき各点の色を計算 特徴 グローシェーディングでは 表現することが難しかった ハイライトも表現できる 法線の正規化が必要にな るため、計算時間がかなり 余分にかかる

98 シェーディング結果の比較例 グローとフォンシェーディングの比較 グローシェーディングでは消えているハイライトが表現されている点に注目
CG制作独習事典 p.4

99 シェーディング方法の応用 フラットシェーディング グローシェーディング フォンシェーディング
頂点色の補間がハードウェアでできなかった昔はよく使われていた ポリゴンらしさを表現する時にあえて使われることがある グローシェーディング 現在、主に使われている方法 ハードウェアでサポート(ソフトでも十分実現可) 実際には次に述べるマッピング技術と組み合わせて使われることが多い フォンシェーディング 計算時間がかかるので、速度の要求される用途では あまり使われない

100 プログラマブル・シェーダ プログラマブル・シェーダ 実現方法 ごく最近のグラフィックカードが持つ新機能
現在は、シェーディングの処理は基本的にハードウェアで固定処理として行われている シェーディングの方法をプログラマが変更できるようにすることで、独特の効果などを表現することが可能になる 実現方法 シェーディングの計算は、グラフィックカード上の演算装置(GPU)で実行される 独自のシェーディング処理を専用言語で記述・コンパイルしておき、実行時にGPUに送る

101 シェーダの応用例 例 現在、最も注目されている技術のひとつ 毛 車のさび
今までリアルタイムでは困難だった高品質の画像を生成できるようになる可能性がある [Kano] [nVidia] [nVidia]

102 ラジオシティ 環境光をより正しく計算するための方法 面同士の相互反射を考慮 各面ごとの環境光を計算する方法
これまでのモデルでは、環境光は一定と仮定していたため、周囲の明るさによる影響を表現できなかった どのレンダリング手法とも組み合わせが可能 ただし非常に計算時間がかかる 環境光 拡散反射光 鏡面反射光 (局所照明) 鏡面反射光 (大域照明) 透過光

103 レイトレーシングの限界 反射光や透過光はそれなりに計算できる 環境光をきちんと計算する のは難しい
環境光を計算しようとすると、 レイと物体の衝突点から、 無数の方向にレイを飛ばす 必要がある 基礎と応用 図8.2

104 ラジオシティの具体例 レイトレーシングとラジオシティの比較
鏡面反射による映り込み(レイトレーシング)と、拡散反射による色の影響(ラジオシティ) CG制作独 習事典 p.5

105 ラジオシティの計算方法 ラジオシティ(熱の放射エネルギー) 面同士の相互反射モデル
それぞれの面同士がどれくらい 互いの影響を受けるかを計算 (フォームファクタ) 全ての面同士の影響を考慮 する必要がある 連立方程式を解いて、 全ての面同士の影響に よる各面の明るさを計算 基礎と応用 図9.3

106 ラジオシティの計算手順 ポリゴンを細かい面に分割 フォームファクタを計算 光源の情報などを設定 連立方程式を解く
計算結果の明るさを 使ってレンダリング 基礎と応用 図9.4

107 ラジオシティの具体例 基礎と応用 図5.4 基礎と応用 図9.1, 9.2

108 ラジオシティの特徴 どのレンダリング手法とも組み合わせ可能 自然な照明の効果を計算するためには必須の技術
レンダリングの前処理として計算される 光源や物体が動かなければ再計算の必要がないので、リアルタイム処理でも利用可能 前もってラジオシティを計算した結果を保存しておく ウォークスルーなどでの利用 自然な照明の効果を計算するためには必須の技術

109 シェーディングのまとめ 光のモデル シェーディング ラジオシティ 局所照明と大域照明 環境光、拡散反射光、鏡面反射光、透過光
光源の種類(平行、点、スポットライト、線・面) シェーディング フラット、グロー、フォンシェーディング 頂点の法線 プログラマブル・シェーダー ラジオシティ

110 マッピング 教科書 4章 112~114ページ

111 マッピング マッピング 表面の素材の表現 映り込みなどを擬似的に表現 オブジェクトの形状表現 光の効果の表現 表面の素材の表現
コンピュータグラフィックス 第3回 2005/12/4 マッピング マッピング 表面の素材の表現 映り込みなどを擬似的に表現 オブジェクトの形状表現 光の効果の表現 表面の素材の表現 動きのデータの生成 オブジェクトの作成方法 画像処理 カメラから見える画像を計算 オブジェクト 生成画像 光源 カメラ

112 マッピング マッピング 面を描画する時に、面の表面に画像を貼り付ける技術 複雑なモデリングをすることなく、細かい模様などを表現できる
基礎と応用 図5.2 基礎知識 図3-19

113 マッピングの方法 物体への画像の貼り付け方 uv座標系 マッピングの方向や繰り返し の方法 テクスチャ画像の座標は(u,v) で表せる
モデルデータの各頂点(x,y,z)ごとに、対応するテクスチャ画像の(u,v)座標を与えておく 基礎と応用 図5.3

114 マッピングの例 人体モデルへのマッピングの例 u v 各頂点にテクスチャの(u,v)座標を設定

115 自動マッピングの方法 ラッピング 各頂点の(u,v)座標を自動的に計算する方法 主に単純な物体へのマッピング時に使用 平行ラッピング
曲座標ラッピング 基礎知識 図3-22

116 手動マッピングの方法 手動でのマッピング マッピング作成の手順
複雑な物体へのマッピングをする時は、モデリングをする人が手動で(u,v)座標を設定 マッピング作成の手順 最初にまずモデルを作成する モデルの展開図を作り、モデルに対応する(u,v)座標を設定する(モデリング用ソフトの機能) テクスチャ画像を描く

117 特殊なマッピング バンプマッピング 環境マッピング 透過率や反射率のマッピング

118 バンプマッピング バンプマッピング 面の色ではなく、法線を変化させる方法 法線を変化させることで、見た目の質感を変えることができる
ピクセルの周囲との輝度の差に応じて法線を傾ける 形状そのものを変えるわけではないので、輪郭線はそのままであることに注意

119 バンプマッピングの例 基礎と応用 図5.9 CG制作独習事典 p.13

120 環境マッピング 環境マッピング 手順 物体の周囲の風景の画像を貼り付けることで、映り込みを表現する 物体の周囲の画像をレンダリング
カメラを物体の中心において、それぞれの方向ごとに画像を生成 レンダリングした画像を物体に貼り付ける 周囲の物体が動かなければ、周囲の画像の生成は最初の一回だけで良い(2回目からは高速に描画)

121 環境マッピングの例 CG制作独習事典 p.17

122 マッピングのまとめ テクスチャマッピング 特殊なマッピング マッピングの合成 自動マッピング 手動マッピング
バンプマッピング(法線の傾きをマッピング) 環境マッピング(周囲の風景をテクスチャマッピング) 透過率や反射率のマッピング マッピングの合成

123 全体のまとめ モデリング レンダリング シェーディング マッピング サンプリング 各種モデリング手法 陰面処理、反射・透過・屈折の表現
コンピュータグラフィックス 第3回 2005/12/4 全体のまとめ モデリング 各種モデリング手法 レンダリング 陰面処理、反射・透過・屈折の表現 各種レンダリング手法 シェーディング 光のモデル、局所・大域照明モデル、シェーディング マッピング テクスチャマッピング、特殊なマッピング サンプリング アンチエイリアシング、モーションブラー、被視界深度

124 全体のまとめ コンピュータグラフィックスの主な技術 オブジェクトの作成方法 オブジェクトの形状表現 オブジェクト 生成画像 表面の素材の表現
動きのデータの生成 光源 画像処理 カメラ 光の効果の表現 カメラから見える画像を計算


Download ppt "免許法認定公開講座: コンピュータグラフィックス"

Similar presentations


Ads by Google