public GraphicsDevice(IntPtr target) { context = OpenGLContext.GetContext(); context.Samples = 4; // Create context using platform specific methods context.CreateContext(target, IntPtr.Zero, null); //GL.InitGeneral(context); //foreach (var str in GL.GetSupportedExtensions()) //Console.WriteLine(str); modelview_matrix = new MatrixState(); projection_matrix = new MatrixState(); texture_matrix = new MatrixState(); normal_matrix = new MatrixState(); var err = GL.glGetError(); GL.InitGL_1_2(context); GL.InitGL_1_3(context); GL.InitGL_1_4(context); GL.InitGL_1_5(context); GL.InitGL_2_0(context); GL.InitGL_2_1(context); GL.InitGL_3_0(context); GL.InitGL_3_1(context); GL.InitGL_3_2(context); GL.InitFramebuffers(context); GL.InitVertexArrayObjects(context); var sp = GL.GetSupportedExtensions(); if (sp.Contains("GL_AMD_debug_output")) { GL.InitDebugOutputAMD(context); GL.glDebugMessageCallbackAMD(new OpenGL.OpenGL.DebugProc(DebugProcecure), IntPtr.Zero); GL.glDebugMessageEnableAMD(0, 0, 0, new int[] { }, GL.boolean.TRUE); } err = GL.glGetError(); GL.glEnable(GL.Const.GL_TEXTURE_2D); state = new OpenGLState(this); state.Blend = true; state.BlendFunction(Blend.SrcAlpha, Blend.OneMinusSrcAlpha); state.Culling = true; state.DepthTest = true; }