private void timer1_Tick(object sender, EventArgs e) { Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); Gl.glLoadIdentity(); Gl.glColor3f(0, 1.0f, 0); //Gl.glPushMatrix(); Gl.glTranslated(1, 0, -10); Gl.glRotated(1, 1, 0, 1); // рисуем сферу с помощью библиотеки FreeGLUT //Glut.glutWireSphere(3, 20, 20); Gl.glColor3f(0, 0, 1.0f); //Glut.glutWireIcosahedron(); Glut.glutStrokeString(Glut.GLUT_STROKE_MONO_ROMAN, "awsdawdawdawd"); Glut.glutInitDisplayString("qwewqe"); //Glut.glutWireCube(1); Gl.glFlush(); simpleOpenGlControl1.Invalidate(); //x += trackBar1.Value; }
public static void Main(string[] args) { int menuID, subMenuA, subMenuB; Glut.glutInitDisplayString("stencil~2 rgb double depth>=16 samples"); Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH); Glut.glutInitWindowPosition(100, 100); Glut.glutInit(); subMenuA = Glut.glutCreateMenu(SampleMenu); Glut.glutAddMenuEntry("Sub menu A1 (01)", 1); Glut.glutAddMenuEntry("Sub menu A2 (02)", 2); Glut.glutAddMenuEntry("Sub menu A3 (03)", 3); subMenuB = Glut.glutCreateMenu(SampleMenu); Glut.glutAddMenuEntry("Sub menu B1 (04)", 4); Glut.glutAddMenuEntry("Sub menu B2 (05)", 5); Glut.glutAddMenuEntry("Sub menu B3 (06)", 6); Glut.glutAddSubMenu("Going to sub menu A", subMenuA); menuID = Glut.glutCreateMenu(SampleMenu); Glut.glutAddMenuEntry("Entry one", 1); Glut.glutAddMenuEntry("Entry two", 2); Glut.glutAddMenuEntry("Entry three", 3); Glut.glutAddMenuEntry("Entry four", 4); Glut.glutAddMenuEntry("Entry five", 5); Glut.glutAddSubMenu("Enter sub menu A", subMenuA); Glut.glutAddSubMenu("Enter sub menu B", subMenuB); Glut.glutCreateWindow("Hello world!"); Glut.glutDisplayFunc(new Glut.DisplayCallback(SampleDisplay)); Glut.glutReshapeFunc(new Glut.ReshapeCallback(SampleReshape)); Glut.glutKeyboardFunc(new Glut.KeyboardCallback(SampleKeyboard)); Glut.glutSpecialFunc(new Glut.SpecialCallback(SampleSpecial)); Glut.glutIdleFunc(new Glut.IdleCallback(SampleIdle)); Glut.glutAttachMenu(Glut.GLUT_LEFT_BUTTON); Glut.glutInitWindowPosition(200, 200); Glut.glutCreateWindow("I am not Jan B."); Glut.glutDisplayFunc(new Glut.DisplayCallback(SampleDisplay)); Glut.glutReshapeFunc(new Glut.ReshapeCallback(SampleReshape)); Glut.glutKeyboardFunc(new Glut.KeyboardCallback(SampleKeyboard)); Glut.glutSpecialFunc(new Glut.SpecialCallback(SampleSpecial)); Glut.glutIdleFunc(new Glut.IdleCallback(SampleIdle)); Glut.glutAttachMenu(Glut.GLUT_LEFT_BUTTON); Console.WriteLine("Testing game mode string parsing, don't panic!\n"); Glut.glutGameModeString("320x240:32@100"); Glut.glutGameModeString("640x480:16@72"); Glut.glutGameModeString("1024x768"); Glut.glutGameModeString(":32@120"); Glut.glutGameModeString("Toudi glupcze, Danwin bedzie moj!"); Glut.glutGameModeString("640x480:16@72"); Glut.glutEnterGameMode(); Glut.glutDisplayFunc(new Glut.DisplayCallback(SampleDisplay)); Glut.glutReshapeFunc(new Glut.ReshapeCallback(SampleReshape)); Glut.glutKeyboardFunc(new Glut.KeyboardCallback(SampleGameModeKeyboard)); Glut.glutIdleFunc(new Glut.IdleCallback(SampleIdle)); Glut.glutAttachMenu(Glut.GLUT_LEFT_BUTTON); Console.WriteLine("current window is %ix%i+%i+%i", Glut.glutGet(Glut.GLUT_WINDOW_X), Glut.glutGet(Glut.GLUT_WINDOW_Y), Glut.glutGet(Glut.GLUT_WINDOW_WIDTH), Glut.glutGet(Glut.GLUT_WINDOW_HEIGHT) ); /* * Enter the main FreeGLUT processing loop */ Glut.glutMainLoop(); Console.WriteLine("glutMainLoop() termination works fine!\n"); }