Tao.OpenGl 2.1.0.2
Copyright ©2003-2007 Tao Framework Team
http://www.taoframework.com
All rights reserved.

Tao.OpenGl is an OpenGL binding for .NET, implementing GL 2.1 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.
