2011年度後期の授業は終了しました。次は、2012年度後期に開講予定です。
| 回数 | 講義日 | 講義内容 | 講義資料 | 演習資料 |
| 1 | 2011/10/04 | ガイダンス(講義内容の説明) | 講義資料
|
|
| 2 | 2011/10/11 | OpenGLプログラミングの基礎 | 講義資料
|
ソース |
| 3 | 2011/10/18 | 視点操作 | 講義資料
|
デモ・ソース |
| 4 | 2011/10/25 | 幾何形状データの読み込み | 講義資料
|
デモ・ソース |
| 5 | 2011/11/08 | 影の表現(高度な描画技術) | 講義資料
| デモ |
| 6 | 2011/11/29 | キーフレームアニメーション | 講義資料
|
デモ・ソース |
| 7 | 2011/12/06 | 物理シミュレーション | 講義資料
|
|
| 8 | 2011/12/13 | キャラクタアニメーション | 講義資料
|
デモ・ソース デモ |
| 9 | 2011/12/20 | 衝突判定 | 講義資料
|
|
| 11 | 2012/01/17 | グラフィックスの最新技術 | 講義資料
|
|
| 以下は、昨年度の資料です。本年度の資料は、講義の前日までに更新する予定です。 | ||||
| 12 | 2010/01/19 | レポート課題 プレゼンテーション (1) | ||
| 13 | 2010/01/26 | レポート課題 プレゼンテーション (2) | ||
- レポート課題 第1回
(提出締め切り 11/4(金) 18:00 厳守)→ 締め切り
- レポート課題 第2回
(提出締め切り 1/23(月) 17:00 厳守)→ 締め切り
レポートは、授業用Moodle の「コンピュータグラフィックス特論II (2011年度)」コースから提出すること。
- 第2回 OpenGLプログラミングの基礎
- サンプルプログラム
[opengl_sample.cpp]
[印刷用PDF]
- コンパイル方法の説明
[PDF]
情報科学センタの端末室でのコンパイル方法の説明 (学部の講義用の資料)
- 関数リファレンス
[PDF]
OpenGL & GLUT の基本関数の説明 (学部の講義用の資料)
- Windows用GLUTライブラリ [glut-3.7.6-bin.zip]
必要な人は適宜インストールしてください。
- 第3回 視点操作
- デモプログラム(Windows用)
[view_demo.exe]
![]()
![]()
3種類の視点操作のデモプログラム。
- mキーでカメラモードを切り替える。
カメラモードは、視点操作方法1(Dolly Mode) → 視点操作方法3(Walkthrough Mode) → 視点操作方法2(Scroll Mode) の順番で切り替わる(方法3と方法2の順番が講義での説明と逆になっているので注意)。
- マウスの右ボタン・左ボタンドラッグで、各視点操作モードに応じて視点を変更する。
- サンプルプログラム1 [view1_param.cpp] [印刷用PDF]
視点操作サンプルプログラム(方法1 Dolly Mode:マウス操作時に変換行列を直接更新)
- サンプルプログラム2 [view1_direct.cpp] [印刷用PDF]
視点操作サンプルプログラム(方法1 Dolly Mode:媒介変数を利用した変換行列の設定)
方法2・方法3については、サンプルプログラムは公開しないので、各自作成して、レポート課題として提出すること。
第4回 幾何形状データの読み込みと描画
- デモプログラム(Windows用)
[obj_viewer.exe]
幾何形状データ(obj形式ファイル)の読み込みと描画のデモプログラム。
- Lキーで Obj 形式の幾何形状ファイルを開く。
- マウスの右ドラッグで視点を変更する。
- サンプルデータ(Obj+Mtl形式)(学内からのみアクセス可能)
- 四角すいの形状データ [pyramid.obj] [pyramid.mtl]
- 車の形状データ [car.obj] [car.mtl]
- サンプルプログラム1
[obj_viewer_sample.zip]
Cによる幾何形状データの定義と読み込み処理のサンプル。
以下は、講義での説明用に、主要なファイルを抜粋したもの。
- サンプルプログラム2
C++による幾何形状データの定義と読み込み処理のサンプル。
第5回 影の描画
- デモプログラム(Windows用)
[shadow_demo.zip]
![]()
![]()
3種類の影の描画方法のデモプログラム。
- mキーで影の描画方法の切り替え。影なし → テクスチャによる影 → ポリゴン投影による影 → シャドウボリュームによる影、の順に切り替わる。
- oキーで表示オブジェクトの切り替え。車と四角すいの2つのオブジェクトをトグルで表示切り替え。
- dキーで確認用の表示情報の切り替え。
- テクスチャによる影の表示中
通常描画 → 不透明描画、の順に切り替え。- ポリゴン投影による影の表示中
通常描画(半透明・ステンシルバッファ使用) → 不透明描画 → ステンシルバッファ未使用、の順に切り替え。- シャドウボリュームによる影の表示中
通常描画 → 光源からみたオブジェクトの境界線の描画 → シャドウボリュームの前面描画(赤) → シャドウボリュームの後面描画(青) → シャドウボリュームの前面・後面描画、の順に切り替え。
- sキーでアニメーションの停止・再開。
- マウスの左ボタンドラッグで、光源の向きを変更する。
- マウスの右ボタンドラッグ・中央ボタンドラッグで、視点を変更する。
第6回 キーフレームアニメーション
- デモプログラム(Windows用)
[keyframe_demo.zip]
![]()
![]()
キーフレームアニメーションのデモプログラム。
- スペースキーで、アニメーションモードとレイアウトモードの切り替え。
- pキーで位置の補間方法を、線形補間 → Hermite補間 → Bezier補間 → B-Spline補間、の順に変更。
- oキーで向きの補間方法を、オイラー角補間 → 四元数補間、の順に変更。
- fキーで表示モードを、通常表示 → 軌道表示 → 全フレーム表示、の順に変更。
- レイアウトモード中は、オブジェクトの中心をクリックし、操作軸上でドラッグすることでオブジェクトを移動・回転できる。
オブジェクトをクリックする度に、移動・回転モードが、ワールド座標系での移動→ローカル座標系での回転→ローカル座標系での移動→ワールド座標系での回転、の順に切り替わる。- aキーでオブジェクト追加、dキーでオブジェクト削除。
- サンプルプログラム
[keyframe_sample.zip]
上のデモプログラムの一部。線形補間とオイラー補間のみを実装したもの。(他の補間関数は、各自で実装すること。)
以下は、講義での説明用に、主要なソースファイルを抜粋したもの。
第8回 キャラクタ・アニメーション (BVH動作データの読み込み・再生)
- デモプログラム(Windows用)
[bvh_player.exe]
![]()
BVH動作データの読み込み・再生を行うデモプログラム。
- L キーでBVHファイルを読み込み。(テストには別途BVHファイルが必要。)
- サンプルプログラム
[bvh_player_sample.zip]
上のデモプログラムの全ソースファイル。
BVHクラス(BVH動作データの管理・読み込み処理・描画処理) + サンプルアプリケーション + Visual Studio 2007 用プロジェクトファイル。
以下は、講義での説明用に、BVHクラスのソースファイルのみを抜粋したもの。
- BVH動作データのサンプル(学内からのみアクセス可能)
A01.bvh B02.bvh [印刷用PDF]
BVHファイルの例は、他にも、このページなど、インターネット上で見つけることができる。
第8回 キャラクタ・アニメーション (ワンスキンモデル + Inverse Kinematics 計算)
- デモプログラム(Windows用)
[ik_demo.zip]
![]()
ワンスキンモデルによるキャラクタの表示、及び、Inverse Kinematics計算を行うデモプログラム。
- 手・足・胴体にある制御点を操作することで、姿勢を変更することができる。
制御点の操作方法は、キーフレームアニメーションのデモと同様。制御点をクリックし、表示される操作軸上でマウスを左ドラッグすることで、制御点を移動・回転できる。制御点をクリックする度に、移動・回転モードが、ワールド座標系での移動→ローカル座標系での回転→ローカル座標系での移動→ワールド座標系での回転、の順に切り替わる。
2回のレポートによって判定します。また、最後に各自が作成したプログラムに関するプレゼンテーションを行ってもらいます。詳しくは、第1回目のガイダンスの講義資料を見てください。
具体的なレポートの内容・締め切りは、今後の講義中に連絡します。