int main(int argc, char* argv[]) { int nModelMenu; int nWireMenu; int nMainMenu; //初始化glut glutInit(&argc, argv); //使用双缓冲区、深度缓冲区、模板缓冲区 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL); //获取系统的宽像素 SCREEN_WIDTH = glutGet(GLUT_SCREEN_WIDTH); //获取系统的高像素 SCREEN_HEIGHT = glutGet(GLUT_SCREEN_HEIGHT); //创建窗口,窗口名字为OpenGL Glut Demo glutCreateWindow("OpenGL Glut Demo"); //设置窗口大小 glutReshapeWindow(windowWidth, windowHeight); //窗口居中显示 glutPositionWindow((SCREEN_WIDTH - windowWidth) / 2, (SCREEN_HEIGHT - windowHeight) / 2); //创建二级菜单 nModelMenu = glutCreateMenu(processMenu); glutAddMenuEntry("Sphere", 1); glutAddMenuEntry("Cone", 2); glutAddMenuEntry("Cube", 3); glutAddMenuEntry("Torus", 4); glutAddMenuEntry("Dodecahedron", 5); glutAddMenuEntry("Teapot", 6); glutAddMenuEntry("Octahedron", 7); glutAddMenuEntry("Tetrahedron", 8); glutAddMenuEntry("Icosahedron", 9); nWireMenu = glutCreateMenu(processMenu); glutAddMenuEntry("Wire", 10); glutAddMenuEntry("Solid", 11); nMainMenu = glutCreateMenu(processMenu); glutAddSubMenu("Model", nModelMenu); glutAddSubMenu("WireOrSolid", nWireMenu); //将菜单榜定到鼠标右键上 glutAttachMenu(GLUT_RIGHT_BUTTON); //窗口大小变化时的处理函数 glutReshapeFunc(changSize); //设置显示回调函数 glutDisplayFunc(renderScreen); //设置按键输入处理回调函数 glutSpecialFunc(specialKey); //设置全局渲染参数 setupRederingState(); glutMainLoop(); return 0; }
int main(int argc, char* argv[]) { //初始化游戏数据 bblock.SetSize(4); bblock.AddNumber(); //初始化glut glutInit(&argc, argv); //使用双缓冲区、深度缓冲区、模板缓冲区 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL); //获取系统的宽像素 SCREEN_WIDTH = glutGet(GLUT_SCREEN_WIDTH); //获取系统的高像素 SCREEN_HEIGHT = glutGet(GLUT_SCREEN_HEIGHT); //创建窗口,窗口名字为OpenGL Glut Demo glutCreateWindow("2048"); //设置窗口大小 glutReshapeWindow(windowWidth, windowHeight); //窗口居中显示 glutPositionWindow((SCREEN_WIDTH - windowWidth) / 2, (SCREEN_HEIGHT - windowHeight) / 2); //窗口大小变化时的处理函数 glutReshapeFunc(changSize); //设置显示回调函数 glutDisplayFunc(renderScreen); //设置按键输入处理回调函数 glutSpecialFunc(specialKey); //键盘输入 glutKeyboardFunc(keyboard); //处理鼠标 glutMouseFunc(mouse); //滑轮 glutMouseWheelFunc(wheel); //设置全局渲染参数 setupRederingState(); glutMainLoop(); return 0; }
int main(int argc, char* argv[]){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH); SCREEN_WIDTH = glutGet(GLUT_SCREEN_WIDTH); SCREEN_HEIGHT = glutGet(GLUT_SCREEN_HEIGHT); glutCreateWindow("OpenGL QuadStrip Demo"); glutCreateMenu(processMenu); glutAddMenuEntry("Toggle depth test", 1); glutAddMenuEntry("Toggle cull face", 2); glutAddMenuEntry("Toggle back outline", 3); glutAttachMenu(GLUT_RIGHT_BUTTON); glutReshapeWindow(windowWidth, windowHeight); glutPositionWindow((SCREEN_WIDTH - windowWidth) / 2, (SCREEN_HEIGHT - windowHeight) / 2); glutReshapeFunc(changSize); glutDisplayFunc(renderScreen); glutIdleFunc(idle); glutSpecialFunc(specialKey); setupRederingState(); glutMainLoop(); return 0; }