第10回
卒業研究1
2010.11.23
OpenGL課題
OpenGL課題について
 目的
 OpenGLを使い、画像処理技術について学び、プ
ログラミング能力の向上と卒業研究を行うため
の基礎知識を身につける。
 評価
 講義の全出席と全2回のレポートで評価
 サポートページ
 http://www.cv.ci.ritsumei.ac.jp/haptic/support.html
OpenGL課題スケジュール
 今後のスケジュール(予定)
第
9回(11月23日)班紹介・OpenGL課題の導入
 第10回(11月30日)マウス・キーボード入力
 第11回(12月 7日)三次元図形の描画
 第12回(12月14日)アニメーション
 第13回(12月21日)隠面消去処理 ☆
 第14回( 1月11日)陰影付け
 第15回( 1月18日)メタセコイアの概要 ☆
☆レポート提出日
OpenGLを使ってみる
1.
サポートページからプログラムをダウンロード
http://www.cv.ci.ritsumei.ac.jp/haptic/support.html
2.
ソリューションファイル(sln)を開き、サポー
トページに記述してあるプロジェクトの設定を
行う
3.
プログラムのビルド、実行
マウス操作の例
 例:マウスが操作されたら表示を行う
//マウス処理関数
void mouse( int button, int state, int x, int y)
{
switch(button){
//左ボタンに操作がされた時
case GLUT_LEFT_BUTTON:
printf(“left¥n”);
break;
//右ボタンに操作がされた時
case GLUT_RIGHT_BUTTON:
printf(“right¥n”);
break;
//例外処理
default:
break;
}
}
int main(int argc, char *argv[]) {
・
・
・
//ここから
glutMouseFunc(mouse);
//ここまで加える
init();
glutMainLoop();
return 0;
}
マウスの状態のタイプ
void mouse( int button, int state, int x, int y)
button:
state:
・GLUT_LEFT_BUTTON
左ボタンが操作された
・GLUT_UP
ボタンを離した
・GLUT_RIGHT_BUTTON
右ボタンが操作された
・GLUT_DOWN
ボタンを押した
・GLUT_MIDDLE_BUTTON
中央ボタンが操作された
X
・マウスのX座標値
Y
・マウスのY座標値
実習課題
 練習1
 マウスのボタン状態を管理する処理を関数mouse()
に作成しなさい
 例:
 課題1
 左クリックで頂点を記憶し,右クリックでその記憶
した頂点を持つ多角形をGL_POLYGONを使って生成
しなさい
 例:
キーボード操作の例
 例:キーボードからプログラムを終了する
//キーボード処理関数
void keyboard( unsigned char key , int x, int y)
{
switch(button){
//大文字か小文字のQが入力もしくは
//「esc」でプログラム終了
case ‘q’: //小文字のqが入力された
case ‘Q’://大文字のQが入力された
case ’¥033’://escキーが押された
exit(0); //プログラムの強制終了
//例外処理
default:
break;
}
}
int main(int argc, char *argv[]) {
・
・
・
glutMouseFunc(mouse);
//ここから
glutKeyboardFunc(keyboard);
//ここまで加える
init();
glutMainLoop();
return 0;
}
キーボードの状態のタイプ
void keyboard( unsigned char key, int x, int y)
key:
・’『英字キー』’
大文字・小文字で認識
・’『アスキーコード』’
8進数のアスキーコードで認識
(例 : ‘¥033’)
・アローキー
・GLUT_KEY_UP
(上)
・GLUT_KEY_DOWN (下)
・GLUT_KEY_RIGHT (右)
・GLUT_KEY_LEFT (左)
X
・マウスのX座標値
Y
・マウスのY座標値
実習課題
 練習1
 ‘q’,’Q’,’esc’でプログラムが終了する処理を関数
keyboardに作成しなさい。
 例:
 課題1
 キーボードからの入力で背景の色を変換する関数
ChangeBgColorを作成し、keyboard関数から呼び出し
なさい。
 例:
ダウンロード

PPT