public void SetupGLControl() { RenderingEnabled = false; if (glControl != null) { glControl.Dispose(); } glControl = null; GLMode = null; try { GLMode = new OpenTK.Graphics.GraphicsMode(OpenTK.DisplayDevice.Default.BitsPerPixel, 24, 8, 4); } catch { GLMode = null; } try { if (GLMode == null) { // Try default mode glControl = new OpenTK.GLControl(); } else { glControl = new OpenTK.GLControl(GLMode); } } catch (Exception ex) { Logger.Log(ex.Message, Helpers.LogLevel.Warning, client); glControl = null; } if (glControl == null) { Logger.Log("Failed to initialize OpenGL control, cannot continue", Helpers.LogLevel.Error, client); return; } Logger.Log("Initializing OpenGL mode: " + GLMode.ToString(), Helpers.LogLevel.Info); glControl.Paint += glControl_Paint; glControl.Resize += glControl_Resize; glControl.MouseDown += glControl_MouseDown; glControl.MouseUp += glControl_MouseUp; glControl.MouseMove += glControl_MouseMove; glControl.MouseWheel += glControl_MouseWheel; glControl.Load += new EventHandler(glControl_Load); glControl.Disposed += new EventHandler(glControl_Disposed); glControl.Click += new EventHandler(glControl_Click); glControl.BackColor = clearcolour; glControl.Dock = DockStyle.Fill; glControl.TabIndex = 0; Controls.Add(glControl); glControl.BringToFront(); glControl.Focus(); }