GLUT関数覚え書き

マウス

関数: glutMouseFunc(void (*func)(int button, int state, int x, int y))

   マウスのボタンが押されたときに実行する関数のポインタ(関数の名前)を引数 func に指定. 引数 button には押されたボタン,つまり 左ボタン(GLUT_LEFT_BUTTON),中ボタン(GLUT_MIDDLE_BUTTON), 右ボタン(GLUT_RIGHT_BUTTON)が渡され,state には押した(GLUT_DOWN)のか離した(GLUT_UP)のかが渡される. x と y にはマウスを押したときの位置が渡される.

関数: glutMotionFunc(void (*func)(int x, int y))

   マウスのいずれかのボタンを押しながら マウスを動かしたときに実行する関数のポインタ(関数の名前)を引数 func に指定. 引数 x と y には,現在のマウスの位置が渡される.

3Dビュー

関数: gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar)

   座標軸の代わりにカメラの画角とスクリーンのアスペクト比で表示領域を指定. 引数 fovy はカメラの画角で単位は度(大きいほどワイドレンズ). 引数 aspect は画面のアスペクト比(縦横比).引数 zNear から 引数 zFar までの位置にある図形が描画される.

関数: glTranslated(GLdouble x, GLdouble y, GLdouble z)

   引数 x, y, z に現在の位置からの相対的な移動量を指定.引数が float 型なら glTranslatef() を使用.

関数: gluLookAt(GLdouble ex, GLdouble ey, GLdouble ez, GLdouble ax, GLdouble ay, GLdouble az, GLdouble ux, GLdouble uy, GLdouble uz)

   視点を設定する関数.(ex, ey, ez) は視点(eye)の位置,(ax, ay, az) は目標(at)の位置,(ux, uy, uz) は ウィンドウに表示される画像の上(up)の方向を示すベクトル.

回転

関数: glRotated(GLdouble angle, GLdouble dx, GLdouble dy, GLdouble dz )

   dx, dy, dz で与えられる軸について,原点を固定点として angle (度)回転させた 回転行列を作る.引数に float を使うときは glRotatef.

影付け

関数: glEnable(GL_LIGHTING)

   陰影付けを有効にする.無効にするときは glDisable(GL_LIGHTNIG).

関数: glEnable(GL_LIGHT0)

   デフォルトの光源(LIGHTゼロ)を有効にする.無効にするには glDisable(GL_LIGHT0).

関数: glLightfv(GLenum light, GLenum pname, const GLfloat *params)

   光源のパラメータを設定.light は設定する光源の番号 (GL_LIGHT0, ...). pname には設定するパラメータの種類 GL_POSITION (光源の位置) か GL_DIFFUSE(光源の拡散反射光強度)を指定. params は pname に指定したパラメータの種類に設定する値. pname が GL_POSITION あるいは GL_DIFFUSE のときは,params は4つの要素を持つ GLfloat 型の配列で,それぞれ光源の位置および拡散反射光強度を指定. 光源が (x, y, z) の位置にあるとき,params の各要素には (x/w, y/w, z/w, w) を設定. 通常 w = 1 として点光源の位置を設定するが,w = 0 であれば (x, y, z) 方向の平行光線の設定になる.また光源の拡散反射光強度が (R, G, B) なら params の各要素には (R, G, B, 1) を設定する.

参考

Valid XHTML 1.1! home > コンピュータ > グラフ・解析ツール >
リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Modified by 物理のかぎプロジェクト PukiWiki 1.4.5_1 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-jiPowered by PHP 5.2.17HTML convert time to 0.042 sec.