最終更新: mikk_ni3_92 2009年11月16日(月) 19:05:38履歴
現在地 >> メニュー >> GLUI >> GLUI::10 >> GLUI::10::まとめ
#include <gl/glut.h> #include <gl/glui.h> //----------- 各種外部変数 ---------------// int glutWinId;//ウィンドウID GLUI_FileBrowser *fb; //---------------- 各種コールバック ----------------------// //ディスプレイのコールバック void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glColor3f(1,0,1); glutWireTeapot(1); glutSwapBuffers(); } void reshape(int w, int h) { glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(30.0, (double)w / (double)h, 1.0, 100.0); glMatrixMode(GL_MODELVIEW); } //------------- OpenGLの初期設定 ------------------// void GLUT_INIT() { glutInitDisplayMode(GLUT_RGBA| GLUT_DOUBLE | GLUT_DEPTH); glutInitWindowSize(640,480); glutWinId = glutCreateWindow("GLUT And GLUI"); } void GLUT_CALL_FUNC() { glutDisplayFunc(display); glutReshapeFunc(reshape); } void MY_INIT() { glClearColor(1.0, 1.0, 1.0, 1.0); glEnable(GL_DEPTH_TEST);//ZバッファON } //--------- GLUTの初期設定 -----------// void GLUT_INITs(int *argcp, char **argv) { glutInit(argcp,argv); GLUT_INIT(); GLUT_CALL_FUNC(); MY_INIT(); } void fileBrowerCB(int val) { printf("[%s] is selected\n",fb->get_file()); } //----------- メイン関数 -----------------// int main(int argc, char *argv[]) { GLUT_INITs(&argc, argv); //GLUIの初期設定 GLUI *glui = GLUI_Master.create_glui("GLUI Window"); fb = new GLUI_FileBrowser(glui, "file browser",GLUI_PANEL_EMBOSSED,1,fileBrowerCB); glui->set_main_gfx_window(glutWinId); GLUI_Master.set_glutIdleFunc( NULL ); glutMainLoop(); return 0; }