Difference between revisions of "OGL"

From HaskellWiki
Jump to navigation Jump to search
m
Line 20: Line 20:
 
== Changes from the official hOpenGL package ==
 
== Changes from the official hOpenGL package ==
 
==== OGL 0.0.0 ====
 
==== OGL 0.0.0 ====
  +
Added:
- OGL.Monad module added.
+
- OGL.Monad.
- getIO, ($$=) in OGL.GL.StateVar for compatibility.
 
  +
- OGL.GL.StateVar: getIO, ($$=).
- mapBuffer, unmapBuffer exposed by OGL.GL.BufferObjects
 
  +
- OGL.GL.BufferObjects: mapBuffer, unmapBuffer.

Revision as of 00:01, 17 November 2008

Synopsis

A fork of the OpenGL 2.2.1.1 package.

Modifications to OpenGL IO using the -XGeneralizedNewtypeDeriving extension create context sensitive MonadIO aliases.

Motivation

  • Simplify concurrent OpenGL applications by explicitly tagging OpenGL code/contexts.
  • Enforce static type checking on commands that can only be executed in certain OpenGL contexts (sending vertex data in immediate-mode for example).

Documentation

Related Software

Caveats

  • Graphics.Rendering.OGL.GLU.* is untested.

Changes from the official hOpenGL package

OGL 0.0.0

 Added:
   - OGL.Monad.
   - OGL.GL.StateVar: getIO, ($$=).  
   - OGL.GL.BufferObjects: mapBuffer, unmapBuffer.