Ethan's summary is good. I'll elaborate a bit on glcaml...

I use glcaml, but don't recommend it in general. There are two reasons I chose it: 1. It looks like OpenGL, so my familiarity with it directly translates... the only differences are lowecase GL constants and no parentheses around arguments. 2. It (kind-of) supports features like shaders.

What I mean by "kind-of" is that the bindings are broken for a lot of lesser-used features. I've been maintaining my own modifications to support features I need (same with sdlcaml)... though I recently decided I should follow OpenGL 4 (basically the same as OpenGL ES 2), which strips the interface down to a minimal set heavily reliant on shaders. This is turning into "yet another set of bindings".

I know I tried glMLite... but can't remember what problems I encountered, and I did encounter problems which led me to settle on glcaml.

Also, there is one other binding I know, by Jeffrey Scofield, for OpenGL ES 1, and he uses this for iPhone development:
http://psellos.com/ocaml/lablgles-build.html


Summary:

If you don't need shaders: LablGL

If you want to do OpenGL ES 1.x (mobile device, for example): LablGLES

If you need shaders: glcaml or glMLite


Oh, if anyone knows of someone making OpenGL 4 / OpenGL ES 2 bindings... please speak up! :)

 -Tony


On Wed, Apr 27, 2011 at 7:17 AM, Ethan Burns <burns.ethan@gmail.com> wrote:
On Wednesday, April 27, 2011 6:30:25 AM UTC-4, Thomas Braibant wrote:

I have only really tried glMLite (and even then I only used it to draw simple rectangles using vertex buffers) but I did also look into the others a tiny bit.  Here is what I found:
This appears to be the 'default' OpenGL for OCaml.  It is suppose to work with lablgtk (I don't know if the others do) but it does not seem to have support for shaders and some later OpenGL funtionality.
Supports the newer OpenGL functionality (GLSL shaders and vertex buffers).  My friend had a difficult time getting it to compile/work on OSX but with some minor changes I believe that he eventually got it working.
glcaml seems to be a set of automatically generated stubs.  It seems to support some of the latest OpenGL but the interface is automatically generated so it doesn't have a very OCaml-ish feel to it.

Best,
Ethan

--
Caml-list mailing list.  Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs