#include <iostream> #include <GL/glut.h> //------------- プロトタイプ宣言 --------------// void display(); void menu(int val); //---------- OpenGLの各種設定 -----------// void GLUT_INIT() { glutInitDisplayMode(GLUT_RGBA); glutCreateWindow("Pop Up Menu"); } void GLUT_CALL_FUNC() { glutDisplayFunc(display); } void GLUT_SET_MENU() { glutCreateMenu(menu); glutAddMenuEntry("name 1", 1); glutAddMenuEntry("name 2", 2); glutAddMenuEntry("name 3", 3); glutAttachMenu(GLUT_RIGHT_BUTTON); } void MY_INIT() { glClearColor(0.0, 0.0, 1.0, 1.0); } //------------- メイン関数 -----------------// int main(int argc, char **argv) { glutInit(&argc,argv); GLUT_INIT(); GLUT_CALL_FUNC(); GLUT_SET_MENU(); MY_INIT(); glutMainLoop(); return 0; } //------------ ここから各種コールバック ---------------------// void display() { glClear(GL_COLOR_BUFFER_BIT); glFlush(); } void menu(int val) { std::cout <<"name "<< val <<" click!\n"; }