Exemplo n.º 1
0
 public void PlotGL()
 {
     try
     {
         lock (matrixLock)
         {
             ThisRot.get_Renamed(matrix);
         }
         ////m_Camera.setLook();
         GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); // Clear screen and DepthBuffer
         GL.glPushMatrix();                                           // NEW: Prepare Dynamic Transform
         GL.glMultMatrixf(matrix);
         #region plot something
         this.display();
         #endregion plot something
         GL.glPopMatrix(); // NEW: Unapply Dynamic Transform
         GL.glFlush();     // Flush the GL Rendering Pipeline
         this.Invalidate();
         //m_Camera.setViewByMouse();
     }
     catch
     {
         return;
     }
 }
Exemplo n.º 2
0
        protected override void InitGLContext()
        {
            GL.glShadeModel(GL.GL_SMOOTH);                                              // enable smooth shading
            GL.glClearColor(0.0f, 0.0f, 0.0f, 0.5f);                                    // black background
            GL.glClearDepth(1.0f);                                                      // depth buffer setup
            GL.glEnable(GL.GL_DEPTH_TEST);                                              // enables depth testing
            GL.glDepthFunc(GL.GL_LEQUAL);                                               // type of depth testing
            // GL.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);	// nice perspective calculations
            //GL.glPointSize(4.0f);

            GL.gluPerspective(25.0, (double)width / (double)height, 1.0, 15.0);
            //GL.glTranslatef(0.0f, 0.0f, -4.0f);
            //GL.gluLookAt(0.0,100.0,600.0,0.0,0.0,0.0,0.0,1.0,0.0);

            GL.glEnable(GL.GL_LIGHTING);         // Enable Lighting
            GL.glEnable(GL.GL_LIGHT0);           // Enable Default Light

            GL.glEnable(GL.GL_COLOR_MATERIAL);   // Enable Color Material
            GL.glLoadIdentity();

            LastRot.setIdentity(); // Reset Rotation
            ThisRot.setIdentity(); // Reset Rotation
            ThisRot.get_Renamed(matrix);

            LastScale = 1.0f;
            ThisScale = 1.0f;



            #region mouse handles
            MouseControl mouseControl = new MouseControl(this);
            mouseControl.AddControl(this);
            mouseControl.LeftMouseDown += new MouseEventHandler(glOnLeftMouseDown);
            mouseControl.LeftMouseUp   += new MouseEventHandler(glOnLeftMouseUp);

            mouseControl.RightMouseDown  += new MouseEventHandler(glOnRightMouseDown);
            mouseControl.RightMouseUp    += new MouseEventHandler(glOnRightMouseUp);
            mouseControl.MiddleMouseDown += new MouseEventHandler(glOnMiddleMouseDown);
            mouseControl.MiddleMouseUp   += new MouseEventHandler(glOnMiddleMouseUp);

            #endregion
        }