Since GLUT+GHCi is problematic at best, after some very frustating
experiments I decided on a client-server architecture.
Usage example:
$ vacuum-opengl-server &
vacuum-opengl server started - press ESC to exit.
listening on port 55961
$ ghci
Prelude> :m + System.Vacuum.OpenGL
Prelude System.Vacuum.OpenGL> view [1..5]
Prelude System.Vacuum.OpenGL> view $ zip "foobar" [1..6]
Prelude System.Vacuum.OpenGL> :m + Data.Set
Prelude System.Vacuum.OpenGL Data.Set> view $ fromList [1..10]
Note:
- we need the graphviz executable (called "dot") being in the path.
- we need the server running
- the image generated by graphviz may be bigger than the maximum texture
size your video card supports (eg. 2048). In this case you will see
a white rectangle. TODO: handle this better.
TODO:
- zooming & panning with mouse
- nicer graph labels
|