OpenGL

MacでGLUTを使用する

[`evernote` not found]
LINEで送る
Pocket

最近OpenGLで描画するものを作る事が結構増えてきたのですが、割とプリミティブな形状を描画するばかりでした。

だけどこのままじゃだめで、もっと深く突っ込みたくなったので基礎から始める事にしました。

今回はMac上(Mac OS X 10.6 Snow Leopard)でglutを使って開発する時のひな形となるものを残しておきます。

#include
#include

void init(void)
{
// 領域の色をクリアする
glClearColor(0.0, 0.0, 0.0, 0.0);

}

void display(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

// 描画の処理を書く

// バッファをクリアして実際に描画させる
glFlush();

}

void keyboard(unsigned char key, int x, int y)
{
// キー操作時の処理を書く

// 再描画
glutPostRedisplay();
}

void reshape(int w, int h)
{
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
// glOrthoなどを使ってリサイズ設定をする
.
.
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

int main (int argc, const char * argv[])
{

// GLUTを初期化
glutInit(&argc, (char**)argv);
//
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB|GLUT_DEPTH);
// ウィンドウ位置、ウィンドウサイズを設定
glutInitWindowPosition(0, 0); glutInitWindowSize(640, 480);
// windowを作成
int mwin = glutCreateWindow("window");

init();
// 描画ループにおいて呼ばれる
glutDisplayFunc(display);
// ウィンドウサイズ・描画領域のサイズ変更時に呼ばれる
glutReshapeFunc(reshape);
// キー操作を扱う
glutKeyboardFunc(keyboard);
// 描画ループを開始する
glutMainLoop();

return 0;
}

Leave a Reply

Your email address will not be published.

CAPTCHA