A simplified OpenGL ES core wrapper library for Haskell.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
examples fix issue #5 Mar 11, 2016
src fix compile errors Mar 10, 2016
test install stack Mar 10, 2016
.gitignore fix `cabal install` Mar 11, 2016
CHANGELOG.md fix `cabal install` Mar 11, 2016
LICENSE LGPL Sep 13, 2014
README.md fix markdown Mar 11, 2016
Setup.hs install stack Mar 10, 2016
opengles.cabal fix `cabal install` Mar 11, 2016
stack.yaml fix issue #5 Mar 11, 2016


OpenGL ES: Open Graphics API for Embeded Systems


opengles is a Haskell wrapper library around OpenGL, OpenGL ES and EGL. Made complicated OpenGL APIs easy yet keep flexible enough. Resulting binary size is relatively small so that apps launches faster. Works on both desktop and mobile.

Documentation is available through hackage for the current and preceding releases.


  • Garbage collection for GPU objects
  • Pointer operation free
  • Simplified nearly state-free rendering API
  • Compile-time type check of buffers, textures, programs and so on
  • Run on Linux (Mesa), Windows and Android (OS X / iOS contribution is welcome)
  • Vertex Array Object Extension with fallback
  • Multi Draw Extension with fallback


  • Poor documentation and lack of tutorial
  • No legacy APIs
  • No uncommon extensions
  • No support for most of glGet* functionality that harm performance


See examples/ directory.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or email.