
On Friday 08 June 2007 01:19:02 Jason Dagit wrote:
Did you remember to do all the double buffering operations? Did you setup the clear color first? One thing that you have to be careful about with OpenGL is that you correctly manage the state of the opengl machine. Haskell should have a purely functional scene graph built on top of HOpenGL -- it's something I would like to work on -- but no one seems to be doing it.
I would very much like to do something similar, having implemented purely functional scene graphs on top of OpenGL in OCaml and DirectX in F#: http://www.ffconsultancy.com/products/smoke_vector_graphics/ http://www.ffconsultancy.com/products/fsharp_for_visualization/ Immutability is very useful in this area and, in particular, it makes a scene graph implementation in a functional language much more accessible than something like Windows Presentation Foundation. I am now working on a cross-platform GUI based upon our vector graphics work (Smoke). This can be similarly elegant by referencing purely functional scene graphs from nodes in the GUI description tree. I would be very interested to see how this is done in Haskell so, if anyone does attempt this, please keep me in the loop. -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. OCaml for Scientists http://www.ffconsultancy.com/products/ocaml_for_scientists/?e