OpenGLRaw: A raw binding for the OpenGL graphics system

[ bsd3, graphics, library ] [ Propose Tags ]
Dependencies base (>=3 && <4.6), ghc‑prim [details]
License BSD-3-Clause
Maintainer Jason Dagit <>, Sven Panne <>
Revised Revision 1 made by HerbertValerioRiedel at Tue Jan 5 10:59:50 UTC 2016
Category Graphics
Home page
Bug tracker
Source repo head: git clone
Uploaded by JasonDagit at Fri Oct 28 12:43:19 UTC 2011
Distributions Debian:, FreeBSD:, LTSHaskell:, NixOS:, Stackage:, openSUSE:
Downloads 37926 total (276 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

OpenGLRaw is a raw Haskell binding for the OpenGL 3.2 graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw offers access to all necessary functions, tokens and types plus a general facility for loading extension entries. The module hierarchy closely mirrors the naming structure of the OpenGL extensions, making it easy to find the right module to import. All API entries are loaded dynamically, so no special C header files are needed for building this package. If an API entry is not found at runtime, a userError is thrown.

OpenGL is the industry's most widely used and supported 2D and 3D graphics application programming interface (API), incorporating a broad set of rendering, texture mapping, special effects, and other powerful visualization functions. For more information about OpenGL and its various extensions, please see and





When compiling under Windows, use the native libraries instead of e.g. the ones coming with Cygwin.


Use glXGetProcAddress instead of dlsym on non-Windows/-Darwin platforms.


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees