Tao.OpenGl 1.5.0.3 Copyright ©2003-2005 Tao Framework Team http://www.taoframework.com All rights reserved. Tao.OpenGl is an OpenGL binding for .NET, implementing GL 1.5 and GLU 1.3. === OpenGl DLL and compilation portability === Due to some issues with the binding generation that I've yet to work out, the extension entry points in a Tao.OpenGl.dll built for WIN32 is not portable to Linux/Mono. To make matters worse, a clean Tao.OpenGl.dll build can't happen on Linux/Mono, because of the lack of ILMerge.exe on Linux. It's acceptable to build a Tao.OpenGl.dll on windows that's built for Mono and then copy that and use it on Mono. Hopefully this issue will be resolved soon. === Extensions and Tao === [To be written. Comments/problems to vladimir@pobox.com .] In a nutshell, you'll use the Tao.OpenGl.GlExtensionLoader class. To check for support without loading: bool vboSupported = GlExtensionLoader.IsExtensionSupported("GL_ARB_vertex_buffer_object"); or to check and load: bool vboSupported = GlExtensionLoader.LoadExtension ("GL_ARB_vertex_buffer_object"); then, just use Tao.OpenGl.Gl.glGenBuffersARB(1, out buf); Tao.OpenGl.Gl.glBindBufferARB(target, buf); etc. Multiple context is supported; you have to create a new ContextGl class: Tao.OpenGl.ContextGl cgl = new Tao.OpenGl.ContextGl(); then pass this as the first argument to IsExtensionSupported/LoadExtension: GlExtensionLoader.LoadExtension (cgl, "GL_ARB_vertex_buffer_object"); And then call cgl.glGenBuffersARB(1, out buf); etc. It's the application's responsibility to make the appropriate context current before calling GlCore or Gl methods on a ContextGl instance. To load all extensions: GlExtensionLoader.LoadAllExtensions(); Change Log: 1.5.0.3 - August 23, 2004: Rewrote OpenGl layer to generate code directly from ARB spec files; also implemented new extension loading/access mechanism. 1.5.0.0 - April 20, 2004: Initial release. Special thanks to Manfred Doetter for his work implementing almost all of the extensions.