OpenGL glut使い方メモ/API
記述
#include <GL/glut.h>
void display(void)
{
// 記述
}
void resise(int w, int h)
{
// 記述
}
void mouse(int button, int state, int x, int y)
{
switch (button) {
case GLUT_LEFT_BUTTON:
if (state == GLUT_DOWN) {
/* */
}
break;
case GLUT_RIGHT_BUTTON:
if (state == GLUT_DOWN) {
/* */
}
}
}
void keyboard(unsigned key, int x, int y)
{
switch (key) {
case 'q':
case '\033': exit(0); break;
default:
}
}
void init(void)
{
// 初期化
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("test window");
glutDisplayFunc(display);
glutReshapeFunc(resize);
glutMouseFunc(mouse);
glutKeyboardFunc(keyboard);
init();
glutMainLoop();
return 0;
}
ウィンドウ初期化
glutInit( int *argc, char **argv )
glutInitWindowSize(int width, int height)
glutInitWindowPosition(int x, int y)
glutInitDisplayMode(OR'd bit string args)
int glutCreateWindow(char *name)
glutSetWindow(int), glutGetWindow(int)
コールバック
glutDisplayFunc(void (*func)(void))
glutReshapeFunc(void (*func)(int width, int height))
glutIdleFunc(void (*func)(void))
glutKeyboardFunc(void (*func)(unsigned char key, i8nt x, int y))
glutMouseFunc(void (*func)(int button, int state, int x, int y))
glutMotionFunc(void (*func)(int x, int y))
glutPassiveMotionFunc(void (*func)(int x, int y))
glutMainLoop(void)
その他
glutGet(GLenum state)
glutPostRedisplay(void)
glutSwapBuffers(void)