From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p3RGPfsZ024214 for ; Wed, 27 Apr 2011 18:25:42 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnAAAA5DuE3RVaE2kGdsb2JhbAAvl1AOhj4BhxgIFAEBAQEJCQ0HFAQhiHCfLYp4gieFKDSIXgEBAwaFcASCCYN6iE6IAIIiO4Nu X-IronPort-AV: E=Sophos;i="4.64,275,1301868000"; d="scan'208";a="93946777" Received: from mail-fx0-f54.google.com ([209.85.161.54]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 27 Apr 2011 18:24:53 +0200 Received: by fxm11 with SMTP id 11so2620860fxm.27 for ; Wed, 27 Apr 2011 09:24:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=Dekvl+vK5IIcRUAF4JL17lGy+tEqp0yq6oaYAdK1OUo=; b=W6RSieIodBDed4TZwWuh8Sd3jCFYG1bIlVzg2xvAm7ka5c0hZcS5Ym5wRxZVUo3tuM u9a0utgzf3AOJv1VSGUjWHeojOU77Jj37MU+ZUQsV68RmLfNxUsrnU9sASV9JZSCvz30 axCDJeZjAAjp0Z+6rW33QHLUfSU/+RCq1VI/c= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=UgAymNA/p1zRaqHf7JqXktrZOrP+p2wYgx4Iml9vOkG1opfD5TwfkS2S9bcuAbuAgA ceYefewdNaLv5NMjgz1sYRrYJj1DYVT0Mf+hey4mdLepoqUU7GLDahqKwHKvzNGvvfsu wKCI67mQEwBDrPj2cZKi9tgzo+oru9PVnaxGI= MIME-Version: 1.0 Received: by 10.223.20.216 with SMTP id g24mr119448fab.115.1303921493025; Wed, 27 Apr 2011 09:24:53 -0700 (PDT) Received: by 10.223.123.66 with HTTP; Wed, 27 Apr 2011 09:24:52 -0700 (PDT) In-Reply-To: References: Date: Wed, 27 Apr 2011 10:24:52 -0600 Message-ID: From: Anthony Tavener To: caml-list@inria.fr Content-Type: multipart/alternative; boundary=00151747ba0e68238a04a1e8e1b5 Subject: Re: [Caml-list] Pros and cons of different GL bindings ? --00151747ba0e68238a04a1e8e1b5 Content-Type: text/plain; charset=ISO-8859-1 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 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: > > > - LablGL http://www.math.nagoya-u.ac.jp/~garrigue/soft/olabl/lablgl.html > > 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. > > > - glMLite http://www.linux-nantes.org/~fmonnier/ocaml/GL/ > > 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 http://glcaml.sourceforge.net/ > > 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 > > --00151747ba0e68238a04a1e8e1b5 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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 tran= slates... 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 modificatio= ns to support features I need (same with sdlcaml)... though I recently deci= ded I should follow OpenGL 4 (basically the same as OpenGL ES 2), which str= ips 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 encoun= tered, 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 o= f someone making OpenGL 4 / OpenGL ES 2 bindings... please speak up! :)
=
=A0-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 simp= le rectangles using vertex buffers) but I did also look into the others a t= iny bit. =A0Here is what I found:
This appears to be the 'default' OpenGL for OCaml. =A0It is s= uppose 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 buff= ers). =A0My friend had a difficult time getting it to compile/work on OSX b= ut with some minor changes I believe that he eventually got it working.
glcaml seems to be a set of automatically generated stubs. =A0It seem= s to support some of the latest OpenGL but the interface is automatically g= enerated so it doesn't have a very OCaml-ish feel to it.

Best,
Ethan

--
Caml-list mailing list. =A0Subscription 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


--00151747ba0e68238a04a1e8e1b5--