Re: Why OpenGL 3.2 bindings
L Corbijn <[email protected]> Wed, 16 Jan 2013 17:51:12 +0100
| Newsgroups | gmane.comp.lang.haskell.hopengl |
|---|---|
| Message-ID | <CAHTd3sjC2yvE=d+nokVNbgHqmu8iXNN=EBg0nPk4FmNX5AwnSA@mail.gmail.com> |
On Wed, Jan 16, 2013 at 11:16 AM, Thiago Negri <[email protected]> wrote: > I thought that newer versions were already spread out. > > Thanks for your answer, greatly appreciated. > > 2013/1/15 Myles C. Maxfield <[email protected]> > >> I'd say that OpenGL 3.2 is still the norm nowadays. Many graphics cards >> out there don't support OpenGL 4.x (meaning: no hardware support for >> tessellation). Mac OSX and Mesa both only support OpenGL 3.2. >> >> You can read the OpenGL 4.3 specifications "with changes marked" to see >> what's different between the various releases. If you just want a synopsis, >> check out Wikipedia at http://en.wikipedia.org/wiki/OpenGL#OpenGL_4.0 . >> >> --Myles >> >> On Tue, Jan 15, 2013 at 6:58 AM, Thiago Negri <[email protected]> wrote: >>> >>> Hello. >>> >>> I'm quite new to OpenGL, so I don't know all features available. >>> The description of the OpenGLRaw package says it's a binding for OpenGL >>> 3.2. >>> On the official site, the 3.2 specification version is from 2009. [1] >>> >>> Why the Haskell binding uses version 3.2? >>> What OpenGL features I'm missing by using Haskell instead of C? >>> >>> Thanks. >>> >>> [1] http://www.opengl.org/registry/ >>> >>> >>> _______________________________________________ >>> HOpenGL mailing list >>> [email protected] >>> http://www.haskell.org/mailman/listinfo/hopengl >>> >> > > > _______________________________________________ > HOpenGL mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/hopengl > (sorry for the dupplicate, but I forgot to cc the list) The reason for still being at version 3.2 is the work needed to go further. Updating OpenGLRaw is a very tedious and error prone task as you have to lookup all the functions and enumeration values for each and every new extension. Updating OpenGL (which is somewhere around OpenGL 3.1) is also not the most interesting work (I've got experience in doing so), though still better work than updating OpenGLRaw. It mainly boils down to adding enumeration datatypes and functions that are already present in OpenGLRaw but now in the correct context, therefore it also includes digging through the OpenGL specification. As a possible solution to the first problem (updating OpenGLRaw) I've been developing a generator to do it for us. Though functioning it hasn't been put to use yet. I have thought about solving the second problem (updating OpenGL) by also generating it, yet this is far more difficult. Lars