OpenGL status

Jason Dagit dagitj at gmail.com
Sat Feb 11 19:49:30 GMT 2012


Ping?

On Sun, Jan 8, 2012 at 11:53 AM, Jason Dagit <dagitj at gmail.com> wrote:
> = Overview/Problem =
> The OpenGL libraries included in the HP are old (OpenGL 2.2.3.0) and I
> would like to push for it to be updated.  The problem is that the
> version in the HP is quickly falling out of sync with the OpenGL
> standard and version 2.2.3.0 has some serious performance issues with
> floating point numbers.  The situation has been languishing for too
> long.  I need some guidance on how to resolve the issue so that the
> next HP does not suffer from this problem.
>
> = Background =
>
> As I understand it, the main problem is that starting with OpenGL
> 2.3.0.0 [1], there was a refactoring of the packages that added new
> dependencies.  Of these, StateVar, Tensor, and ObjectName were
> controversial dependencies:
>
>  * StateVar -- Some people have objected to the module name of the
> StateVar package, as it is Data.StateVar.  As I understand it, there
> is some concern that by having that in the HP we are encouraging
> beginners to think about using state in their programs.  Data.StateVar
> is very general and used by several packages (opengl, openal, hipmunk)
> [2], for this reason it doesn't seem to make sense to put it under the
> opengl module namespace.  I'd also like to point out, STRefs are
> provided by the HP and allow programmers to use stateful references.
> In the current module name landscape [3], those come from Data.STRef.
>
>  * ObjectName -- ObjectName is shared between OpenGL and OpenAL so
> putting it in the Graphics namespace seems a bad idea.  Note: Although
> Data.ObjectName seems reasonable to me, I could be convinced to roll
> ObjectName back into each of those packages as it's just one type
> class definition (no instances) and it's used in exactly those
> packages.   Plus the way the dependency is specified on hackage,
> releasing an updated package will break the existing OpenGL/OpenAL
> packages.
>
>  * Tensor -- This defines some Vertex and Vector types.  Data.Tensor
> seems reasonable to me.  It's used by OpenGL, OpenAL, and OpenVG.  If
> I change it I should probably coordinate with Stephen Tetley the
> author of OpenVG.
>
>  * OpenGLRaw -- As far as I know this package is fine as it is, but
> simply has not been added to the HP yet.
>
>  * GLUTRaw -- Same as OpenGLRaw.
>
> = Question =
>
> What do I need to do to get the HP to update its dependency on OpenGL?
>  For example, would changing Data.StateVar to Foreign.StateVar be
> sufficient?  Is the HP willing to accept Data.StateVar?
>
> Tickets have already been created for updating OpenGL [4] and adding
> OpenGLRaw [5].
>
> = References =
>
> [1] http://hackage.haskell.org/package/OpenGL-2.4.0.2
> [2] http://packdeps.haskellers.com/reverse/StateVar
> [3] http://www.haskell.org/haskellwiki/Hierarchical_module_names
> [4] http://trac.haskell.org/haskell-platform/ticket/158
> [5] http://trac.haskell.org/haskell-platform/ticket/167
>
>
>
> Thank you,
> Jason



More information about the Haskell-platform mailing list