There is one little problem with lablGL: The height functions provided for GlDraw.normal and GlDraw.vertex necessarely uses boxed float. You should add (I will do it for myself very soon) direct access to the GL function to be able to benefit from the optimization of OCaml for unboxed float. This is important for this two function and may be a few others (GlDraw.begins and GlDraw.ends, ...) which are used very often and where the optional arguments and the call to the stub code may cost too much. But I think it is a good idea to keep a type-safe interface as much as possible and put the unsafe fast call in a GlUnsafe module ! I learned GL using LablGl and it is very well suited for that. Much better than raw C or C++. -- Christophe Raffalli Université de Savoie Batiment Le Chablais, bureau 21 73376 Le Bourget-du-Lac Cedex tél: (33) 4 79 75 81 03 fax: (33) 4 79 75 87 42 mail: Christophe.Raffalli@univ-savoie.fr www: http://www.lama.univ-savoie.fr/~RAFFALLI --------------------------------------------- IMPORTANT: this mail is signed using PGP/MIME At least Enigmail/Mozilla, mutt or evolution can check this signature ---------------------------------------------