示例#1
0
        private void informacjeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            AboutApp aboutApp = new AboutApp("OpenGL App", "1.0.0", "-----------", "Sebastian Tomczak, Politechnika Lubelska ", opis);

            aboutApp.ShowDialog();
        }
示例#2
0
        static void Main(string[] args)
        {
            AboutApp aboutApp = new AboutApp("OpenGL App", "1.0.0", "-----------", "Sebastian Tomczak, Politechnika Lubelska ", opis);

            Application.Run(aboutApp);

            if (aboutApp.GetStateOfStartOknoObslugi() == true)
            {
                PobieranieSciezki pobieranieSciezki = new PobieranieSciezki();

                Application.Run(pobieranieSciezki);
                objPath = pobieranieSciezki.GetObjPath();

                lighting         = pobieranieSciezki.wlaczenieSw;
                natezenieSwiatla = pobieranieSciezki.natezenieSw;
                kierunekSwiatlaX = pobieranieSciezki.kierunekSwX;
                kierunekSwiatlaY = pobieranieSciezki.kierunekSwY;
                kierunekSwiatlaZ = pobieranieSciezki.kierunekSwZ;

                startOpenGL = pobieranieSciezki.startOpenGL;
            }

            if (startOpenGL == true)
            {
                Glut.glutInit();

                MakingWindow(width, height, name);

                Glut.glutIdleFunc(OnRenderFrame);
                Glut.glutDisplayFunc(OnDisplay);

                Glut.glutKeyboardFunc(OnKeyboardDown);                                                                                        //Funkcja obslugujaca nacisniecia przyciskow
                Glut.glutKeyboardUpFunc(OnKeyboardUp);                                                                                        //Funkcja obslugujaca nacisniecia przyciskow
                Glut.glutMouseFunc(OnMouse);                                                                                                  //Funckja obslugujaca ruch mysza
                Glut.glutMotionFunc(OnMove);                                                                                                  //Funckja obslugujaca ruch mysza

                Glut.glutCloseFunc(OnClose);                                                                                                  //Funkcja obslugujaca zamykanie wszystkiego

                shaderProgram = new ShaderProgram(VertexShader, FragmentShader);                                                              //Tworzenie programu odpowiedzialnego za Shadery

                kamera = new Camera(new Vector3(0, 0, 10f), Quaternion.Identity);                                                             //Wykorzystanie klasy Camera i stworzenie jej
                kamera.SetDirection(new Vector3(0, 0, -1.25f));                                                                               //Ustawienie kierunku kamery.

                shaderProgram.Use();                                                                                                          //uruchomienie programu odpowiedzialnego za Shadery
                shaderProgram["projection_matrix"].SetValue(Matrix4.CreatePerspectiveFieldOfView(0.45f, (float)width / height, 0.1f, 1000f)); //Stworzenie stożka widoku
                shaderProgram["model_matrix"].SetValue(Matrix4.Identity);                                                                     //Ustawienie macierzy swiata

                shaderProgram["enable_lighting"].SetValue(lighting);

                shaderProgram["illuminance"].SetValue(natezenieSwiatla);

                shaderProgram["lightdirX"].SetValue(kierunekSwiatlaX);
                shaderProgram["lightdirY"].SetValue(kierunekSwiatlaY);
                shaderProgram["lightdirZ"].SetValue(kierunekSwiatlaZ);

                obiekt = new ObjLoader(objPath, shaderProgram);  //Stworzenie obiektu za pomoca klasy ObjLoader

                watch = System.Diagnostics.Stopwatch.StartNew(); //Rozpoczecie Stopwatcha potrzebnego do obrotow kamery czy z klawi. czy za pomoca myszy

                Glut.glutMainLoop();                             //start glownej petli Glut
            }
            else
            {
                MessageBox.Show("Zamknąłeś aplikację bez nadania ścieżki do obiektu,\r\nOpenGL nie może się uruchomić.", "Błąd inicjacji.");
            }
        }