OpenGL
OpenGLはグラフィックスハードウェアのAPI。 2次元・3次元コンピュータグラフィックス両方が扱えどのOSでも使う事ができる。 他のグラフィックスハードウェアのAPIはMS社のDirectXなどがある。
導入の仕方(osがwindowsで開発環境がvisual c++の場合)
OpenGL自体はどのosにも大抵入っているが動かせるようにするにはちょっとした手続きが必要です。
まず
ここからglut-3.7.6-bin.zipを
ダウンロードし解凍しましょう。
- glut32.dll
- glut32.lib
- glut.h
というファイルがあるのでdllをOSが
32bitならC:\Windows\System32に
64bitならC:\Windows\SysWOW64に
に置きましょう。
続いてglut.hを\Microsoft Visual Studio 11.0\VC\include\gl(glがなければ作る)
glut32.libを\Microsoft Visual Studio 11.0\VC\lib に置きましょう。 これで#include<gl/glut.h>とおいてコンパイルエラーが起こらなければ成功です。
設定はこれだけです。
| 注意 glut.hをインクルードする時はstdio.hとstdlib.hを先頭にして下さい。 |
OpenGLのHello world
#include <GL/glut.h>
void display(void)
{
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutCreateWindow("hello world");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
| void glutInit(int *argc, char **argv) |
GLUT および OpenGL 環境を初期化します。 引数には main の引数をそのまま渡します. X Window で使われるオプション -display などはここで処理されます. この関数によって引数の内容が変更されます.
| int glutCreateWindow(char *name) |
ウィンドウを開きます. 引数 name はそのウィンドウの名前の文字列で, タイトルバーなどに表示されます.
| void glutDisplayFunc(void (*func)(void)) |
引数 func は開いたウィンドウ内に描画する関数へのポインタです. ウィンドウが開かれたり, 他のウィンドウによって隠されたウィンドウが再び現れたりして, ウィンドウを再描画する必要があるときに, この関数が実行されます. したがって, この関数内で図形表示を行います.
これは無限ループです. この関数を呼び出すことで, プログラムはイベントの待ち受け状態になります. この関数がないとウィンドウが一瞬で消えてしまいます。
図形の描写はdiplay関数内で行われます。
参考
最終更新:2014年07月11日 17:29