cg実習(cプログラミング) ·...

1
─ 246 ─ 関西大学総合情報学部 授業計画 2015 CG実習(Cプログラミング) (春学期 1単位) 林 武文 ■授業概要 3次元 CG によるインタラクティブなシステムの 構築技術を修得することを目標とする。コンピュー タのユーザインタフェースや可視化システムあるい はビデオゲームのように、キーボードやマウスから の入力に対して実時間で CG の描画が行われるアプ リケーションを開発する。標準C言語(ANSI C) と標準グラフィックス API(OpenGL)を利用する。 第1回〜第10回は、3次元 CG の描画に必要な API の使用方法とプログラミング方法を学習し、毎回課 題を提出する。第11回〜第14回はオリジナル作品(ア プリケーション)を制作し、最終回にプレゼンテー ションを行う。 プログラミング実習(C)を履修済みか、同等の C言語の利用経験を有することを前提に授業を進め る。 ■到達目標 OpenGL を用いた CG プログラミングの基礎を修 得する。 3次元 CG によるインタラクティブなシステムを 構築することが出来る。 ■授業計画 1 ウィンドウ設定と基本図形の描画 グラフィックス API(OpenGL)の概要、ウィ ンドウの設定方法、2次元図形の描画方法 2 3次元図形の描画と隠面処理 投影法、幾何変換、zバッファ法による隠面 処理 3 モデリング入門 ロケットのモデリング、座標系の保存・復元、 変換行列スタックの操作 4 アニメーション ダブルバッファを利用した実時間アニメー ション、ビューイング変換、ウォークスルー アニメーション 5 イベント処理 キー割り込み、マウス操作、ウィンドウのリ シェープ 6 シェーディング シェーディング計算の設定方法、表面属性の 設定方法、スムーズシェーディング 7 光源の設定 平行光源・点光源の設定、移動する光源、ス ポット光源 8 テクスチャマッピング テクスチャマッピングの方法、テクスチャ座 標の自動生成、ミップマップ、環境マッピン 9 その他の処理1 混合処理、テキストの表示、マルチウィンド ウ、ポップアップメニューの設定等 10 その他の処理2 自由曲面、シミュレーションと可視化 11 自由制作1 企画の立て方、デバッグの方法、オリジナル 作品の制作、質問受付 12 自由制作2 13 自由制作3 14 自由制作4 15 評価会 ■授業時間外学習 授業で理解出来なかった部分は、空き時間に実習 教室や自宅のパソコンで復習すること。自宅のパソ コンへの開発環境の構築方法は、次の URL を参照 のこと。 http://www.edu.kutc.kansai-u.ac.jp/hayashi/cg2p/ ■成績評価の方法 定期試験を行わず、平常試験(小テスト・レポー ト等)で総合評価する。 特に、評価会での発表とオリジナル作品の内容を 重視する。成績評価の割合は、出席35%、各回の課 題35%、オリジナル作品30%とする。 ■成績評価の基準 第1回〜10回の授業に出席し各回の課題を提出、 第11回〜14回で作成したオリジナル作品を提出、第 15回の評価会に出席してオリジナル作品のプレゼン テーションを行うこと。 ■教科書 『OpenGL による3次元 CG プログラミング』(コロ ナ社)林武文、加藤清敬 サンプルプログラムを教室のサーバーにて配布す る。 ■参考書 『OpenGL プログラミングガイド第2版 The Offi- cial Guide to Learning OpenGL, Version 1.1(日本 語版)』(ピアソン・エデュケーション)OpenGL Architecture Review Board、株式会社アクロス 訳 『OpenGL リファレンスマニュアル 第2版(日 本語版)』(ピアソン・エデュケーション)OpenGL Architecture Review Board、株式会社アクロス 訳 『GLUT に よ る OpenGL 入 門 ─「OpenGL Utility Toolkit」で簡単3D プログラミング!』(工学社) 床井浩平 『OpenGL Programming for X Window System(日 本語版)』(アジソンウェスレイ)Mark Killgard 『コンピュータグラフィックス』(CG-ARTS 協会) CG-ARTS 協会 編 ■備考 質問等は、授業時間中に直接もしくはメールにて 受け付けます。 メールアドレス:[email protected] Computer Graphics:OpenGL Programming (Lab.)

Upload: others

Post on 23-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CG実習(Cプログラミング) · 第1回〜10回の授業に出席し各回の課題を提出、 第11回〜14回で作成したオリジナル作品を提出、第 15回の評価会に出席してオリジナル作品のプレゼン

─ 246 ─

関西大学総合情報学部 授業計画 2015

CG実習(Cプログラミング)(春学期 1単位) 林 武文

■授業概要 3次元 CG によるインタラクティブなシステムの構築技術を修得することを目標とする。コンピュータのユーザインタフェースや可視化システムあるいはビデオゲームのように、キーボードやマウスからの入力に対して実時間で CG の描画が行われるアプリケーションを開発する。標準C言語(ANSI C)と標準グラフィックス API(OpenGL)を利用する。第1回〜第10回は、3次元 CG の描画に必要な APIの使用方法とプログラミング方法を学習し、毎回課題を提出する。第11回〜第14回はオリジナル作品(アプリケーション)を制作し、最終回にプレゼンテーションを行う。 プログラミング実習(C)を履修済みか、同等のC言語の利用経験を有することを前提に授業を進める。

■到達目標 OpenGL を用いた CG プログラミングの基礎を修得する。 3次元 CG によるインタラクティブなシステムを構築することが出来る。

■授業計画1 ウィンドウ設定と基本図形の描画 グラフィックス API(OpenGL)の概要、ウィ

ンドウの設定方法、2次元図形の描画方法2 3次元図形の描画と隠面処理 投影法、幾何変換、zバッファ法による隠面

処理3 モデリング入門 ロケットのモデリング、座標系の保存・復元、

変換行列スタックの操作4 アニメーション ダブルバッファを利用した実時間アニメー

ション、ビューイング変換、ウォークスルーアニメーション

5 イベント処理 キー割り込み、マウス操作、ウィンドウのリ

シェープ6 シェーディング シェーディング計算の設定方法、表面属性の

設定方法、スムーズシェーディング7 光源の設定 平行光源・点光源の設定、移動する光源、ス

ポット光源8 テクスチャマッピング テクスチャマッピングの方法、テクスチャ座

標の自動生成、ミップマップ、環境マッピング

9 その他の処理1 混合処理、テキストの表示、マルチウィンド

ウ、ポップアップメニューの設定等10 その他の処理2 自由曲面、シミュレーションと可視化

11 自由制作1 企画の立て方、デバッグの方法、オリジナル

作品の制作、質問受付12 自由制作213 自由制作314 自由制作415 評価会

■授業時間外学習 授業で理解出来なかった部分は、空き時間に実習教室や自宅のパソコンで復習すること。自宅のパソコンへの開発環境の構築方法は、次の URL を参照のこと。http://www.edu.kutc.kansai-u.ac.jp/̃hayashi/cg2p/

■成績評価の方法 定期試験を行わず、平常試験(小テスト・レポート等)で総合評価する。 特に、評価会での発表とオリジナル作品の内容を重視する。成績評価の割合は、出席35%、各回の課題35%、オリジナル作品30%とする。

■成績評価の基準 第1回〜10回の授業に出席し各回の課題を提出、第11回〜14回で作成したオリジナル作品を提出、第15回の評価会に出席してオリジナル作品のプレゼンテーションを行うこと。

■教科書『OpenGL による3次元 CG プログラミング』(コロナ社)林武文、加藤清敬 サンプルプログラムを教室のサーバーにて配布する。

■参考書『OpenGL プログラミングガイド第2版 The Offi-cial Guide to Learning OpenGL, Version 1.1(日本語版)』(ピアソン・エデュケーション)OpenGL Architecture Review Board、株式会社アクロス 訳

『OpenGL リファレンスマニュアル 第2版(日本語版)』(ピアソン・エデュケーション)OpenGL Architecture Review Board、株式会社アクロス 訳

『GLUT に よ る OpenGL 入 門 ─「OpenGL Utility Toolkit」で簡単3D プログラミング!』(工学社)床井浩平

『OpenGL Programming for X Window System(日本語版)』(アジソンウェスレイ)Mark Killgard

『コンピュータグラフィックス』(CG-ARTS 協会)CG-ARTS 協会 編

■備考 質問等は、授業時間中に直接もしくはメールにて受け付けます。 メールアドレス:[email protected]

Computer Graphics:OpenGL Programming (Lab.)