home *** CD-ROM | disk | FTP | other *** search
- 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.
-