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


担当

教員 津村徳道
      043-290-3261, 共同棟2階209

サンプルプログラム

「イベントドリブン」プログラムの理解

OpenGL を使って立方体を回転させる

OpenGL を使って立方体を左右に動かす

2個の立方体を別々に動かす


多数の立方体を表示する

様々な形状を表示する

照明を使う

プリミティブ図形(点,線,O角パッチ)を描画する

文字列を描画する

画像(テクスチャ)を表示する

  • jpegio.h を使用するので同じフォルダに置いておくこと
  • gccコンパイル桙フオプション -ljpeg を付けること
  • 読み込む画像の縦横サイズは2のべき乗(128x128など)にしてください
    • このサンプルで使用する画像ファイル1 image1_128.jpg (128x128画素)
    • このサンプルで使用する画像ファイル2 image2_128.jpg (128x128画素)

キーボードでジャンプしたり弾を飛ばす

  • ジャンプ: スペースキー
  • 弾発射: s キー

衝突判定

  • ホイールの回転:ボールのサイズを変更する

TA作 ゲームのサンプル「マリオっぽいの」

  • ダウンロード action3.c
  • 青色の敵を避けながら、赤い地面に翌ソないように、右に右に進め!
    • ゲーム開n:s キー
    • マウス右クリック:進む
    • マウス左クリック:戻る
    • マウス中ドラッグ:挙_変更
    • ジャンプ:スペースキー(2段ジャンプ可能)

TA作 アニメーションのサンプル「太陽系」

コンパイル方法

# gcc -I/usr/X11R6/include -L/usr/X11R6/lib -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm -o gls01 gls01.c

リンク

補足

乱数をつかう

rand() 関数の使いかた

int v1, v2;
float v3;
v1 = rand();        /* 0〜RAND_MAX の整数の乱数 */
v2 = rand() % 100;  /* 0〜99 の整数の乱数 */
v3 = ((float)rand() / RAND_MAX); /* 0〜1.0 の実数の乱数 */

プリミティブの描画

「OpenGLによる3沍ウCGプログラミング」コロナミより