Пример #1
0
        public void Draw()
        {
            glController.glDinamik(monitor, Batu_GL.Ortho_Mode.CENTER);
            //--------------------------------------------
            Gl.glEnable(Gl.GL_LIGHTING);  // Işıklandırma aktif ediliyor
            //--------------------------------------------
            //--Işık 1
            Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_AMBIENT, light_1);   // Aydınlatma çeşidi ve ışık numarası belirleniyor ışık özellikleri "isik adlı diziden alınıyor"
            Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_DIFFUSE, light_2);   // Aydınlatma çeşitlerinden dağıtma seçilerek "isik2" de dağılmayı yapacak ışık özellikleri tanımlanıyor
            Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_SPECULAR, specular); // Aydınlatma çeşitlerinden yansıtma seçiliyor "specular" dizisi ile yansıma ışığının özellikleri belirleniyor
            Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_POSITION, lightPos); // "0" numaralı ışığın konumu "lightpos" dizisinden alınıyor
            Gl.glEnable(Gl.GL_LIGHT0);                            // "0" numaralı ıuşık aktif hale gtiriliyor
            //-------------------------------------------
            //--Işık 2
            Gl.glLightfv(Gl.GL_LIGHT1, Gl.GL_AMBIENT, light_1);
            Gl.glLightfv(Gl.GL_LIGHT1, Gl.GL_DIFFUSE, light_2);
            Gl.glLightfv(Gl.GL_LIGHT1, Gl.GL_SPECULAR, specular);
            Gl.glLightfv(Gl.GL_LIGHT1, Gl.GL_POSITION, lightPos2);
            Gl.glEnable(Gl.GL_LIGHT1);
            //-------------------------------------------
            Gl.glEnable(Gl.GL_COLOR_MATERIAL); // Parça renk materyali aktif hale getiriliyor
            Gl.glColorMaterial(Gl.GL_FRONT, Gl.GL_AMBIENT_AND_DIFFUSE);
            Gl.glMaterialfv(Gl.GL_FRONT, Gl.GL_SPECULAR, specref);
            Gl.glMateriali(Gl.GL_FRONT, Gl.GL_SHININESS, 10); // Parlaklık seviyesi ayarla ("1" değerinin yansıması iyi)
            Gl.glEnable(Gl.GL_NORMALIZE);                     // Işık geçişini yumuşatma
            //-------------------------------------------

            Gl.glRotatef(rotation, 0.7f, 1.0f, 0.2f);
            rotation++;
            rotation = rotation % 360;

            modelVAO.Draw();

            monitor.SwapBuffers();
        }
Пример #2
0
        private void GL_Monitor_Paint(object sender, PaintEventArgs e)
        {
            if (!monitorLoaded)
            {
                return;
            }

            Batu_GL.Configure(GL_Monitor, Batu_GL.Ortho_Mode.CENTER);
            if (modelVAO != null)
            {
                ConfigureBasicLighting(modelVAO.color);
            }
            GL.Translate(orb.PanX, orb.PanY, 0);
            GL.Rotate(orb.orbitStr.angle, orb.orbitStr.ox, orb.orbitStr.oy, orb.orbitStr.oz);
            GL.Scale(orb.scaleVal, orb.scaleVal, orb.scaleVal);
            GL.Translate(-minPos.x, -minPos.y, -minPos.z);
            GL.Translate(-(maxPos.x - minPos.x) / 2.0f, -(maxPos.y - minPos.y) / 2.0f, -(maxPos.z - minPos.z) / 2.0f);
            if (modelVAO != null)
            {
                modelVAO.Draw();
            }
            GL_Monitor.SwapBuffers();
        }