GLHUI

Open OpenGL context windows in X11 with libX11

Latest on Hackage:1.1.0

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed and maintained by Hugo Gomes

Haskell functions to open and manage a OpenGL window with libX11.

This module is intended to be imported qualified, to avoid clashes with Prelude functions, e.g.

import qualified Graphics.UI.GLWindow as Window

As an example, here is a simple module that uses some of these functions to open a OpenGL 3.2 Context:

module Main where

import Graphics.Rendering.OpenGL
import qualified Graphics.UI.GLWindow as Window

myLoop = do clear [ColorBuffer]
            t <- Window.time
            clearColor $= Color4 (sin (realToFrac t) * 0.5 + 0.5)
                                 (sin (realToFrac (t+1)) * 0.5 + 0.5)
                                 (sin (realToFrac (t+2)) * 0.5 +0.5)
                                 0

main = do Window.init 3 2 -- initializes a OpenGL 3.2 context
          Window.loop myLoop -- stops when the ESC key is pressed
          Window.kill -- removes the window when the loop stops

Special thanks to Tiago Farto (aka xernobyl) for coding the initial C version that was used as a base for these functions