   OpenGL 2.0
  In the "So - what are we doing?" thread a few days ago I said that Monday was a bank holiday and I might be able to find a few hours to work on NeHe related stuff.  I also said that if nobody desired otherwise (and apparently nobody did) I would work on a list of design issues for the first lesson.  Well, I have a confession to make.  I didn't spend my time working on a list of design issues.  Instead I spent a little time investigating an issue I considered far more interesting - support for OpenGL 2.0.Everybody knows that for OpenGL under windows if you want to use features from an OpenGL version greater than OpenGL 1.2 you have to use extensions.  Anybody who's used extensions knows that depending on how you handle things they can range from the ridiculous (manual loading) to the sublime (GLee's lazy loading).The question is, can you do better that GLee?  I decided to try and find out.  Here's a proof of concept test.  The archive contains static libraries for Borland C++, Visual C++ and GCC.  It also contains a sample project (a slightly modified version of NeHe lesson 1).  The libraries currently only support four OpenGL functions - glGenBuffers, glBindBuffer, glBufferData and glDeleteBuffers.  They will also almost certainly only work under NT based windows at the moment (that can be fixed later).So why is this system better than GLee?  Although it's currently rather bloatware it should be possible to slim it down rather compared to GLee.  GLee requires an additional function per OpenGL entry point in order to perform lazy loading.  My system does not.  GLee also appears to have a problem with lazy loading in immediate mode (Note - I haven't tested and confirmed this, but it's a problem I've encountered before with lazy-loading OpenGL functions and I looked through the source of GLee and didn't find a work-around for it) whereby it can attempt to call glGetString within a glBegin, glEnd pair, which is not allowed.  My system does not suffer from this problem (although the current example is not capable of demonstrating so).  Currently the example is set up to simply require OpenGL 2.0, but this can be changed.So, please try the examples and check if they work.  Try writing your own simple tests if you want (remember, only glGenBuffers, glBindBuffer, glBufferData and glDeleteBuffers are supported currently).  Do you think this is something that is worth persuing?  (Note: I've only tested it on one machine, so don't be surprised if it fails on you).Σnigma   