home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 March / CMCD0305.ISO / Software / Freeware / Utilitare / spherexp / SphereXP.0-81.exe / Tao.OpenGl.Readme.txt < prev    next >
Text File  |  2004-11-28  |  2KB  |  67 lines

  1. Tao.OpenGl 1.5.0.3
  2. Copyright ⌐2003-2005 Tao Framework Team
  3. http://www.taoframework.com
  4. All rights reserved.
  5.  
  6. Tao.OpenGl is an OpenGL binding for .NET, implementing GL 1.5 and GLU 1.3.
  7.  
  8. === OpenGl DLL and compilation portability ===
  9.  
  10. Due to some issues with the binding generation that I've yet to work
  11. out, the extension entry points in a Tao.OpenGl.dll built for WIN32 is
  12. not portable to Linux/Mono.  To make matters worse, a clean
  13. Tao.OpenGl.dll build can't happen on Linux/Mono, because of the lack
  14. of ILMerge.exe on Linux.  It's acceptable to build a Tao.OpenGl.dll on
  15. windows that's built for Mono and then copy that and use it on Mono.
  16.  
  17. Hopefully this issue will be resolved soon.
  18.  
  19. === Extensions and Tao ===
  20.  
  21. [To be written.  Comments/problems to vladimir@pobox.com .]
  22.  
  23. In a nutshell, you'll use the Tao.OpenGl.GlExtensionLoader class.
  24.  
  25. To check for support without loading:
  26.  
  27.    bool vboSupported = GlExtensionLoader.IsExtensionSupported("GL_ARB_vertex_buffer_object");
  28.  
  29. or to check and load:
  30.  
  31.    bool vboSupported = GlExtensionLoader.LoadExtension ("GL_ARB_vertex_buffer_object");
  32.  
  33. then, just use
  34.  
  35.    Tao.OpenGl.Gl.glGenBuffersARB(1, out buf);
  36.    Tao.OpenGl.Gl.glBindBufferARB(target, buf);
  37.    etc.
  38.  
  39. Multiple context is supported; you have to create a new ContextGl class:
  40.  
  41.    Tao.OpenGl.ContextGl cgl = new Tao.OpenGl.ContextGl();
  42.  
  43. then pass this as the first argument to IsExtensionSupported/LoadExtension:
  44.  
  45.    GlExtensionLoader.LoadExtension (cgl, "GL_ARB_vertex_buffer_object");
  46.  
  47. And then call
  48.  
  49.    cgl.glGenBuffersARB(1, out buf);
  50.    etc.
  51.  
  52. It's the application's responsibility to make the appropriate context
  53. current before calling GlCore or Gl methods on a ContextGl instance.
  54.  
  55. To load all extensions:
  56.    GlExtensionLoader.LoadAllExtensions();
  57.  
  58. Change Log:
  59.  
  60. 1.5.0.3 - August 23, 2004:
  61.     Rewrote OpenGl layer to generate code directly from ARB
  62.     spec files; also implemented new extension loading/access mechanism.
  63.  
  64. 1.5.0.0 - April 20, 2004:
  65.     Initial release.  Special thanks to Manfred Doetter for his work
  66.     implementing almost all of the extensions.
  67.