caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Christophe Raffalli <Christophe.Raffalli@univ-savoie.fr>
To: Hendrik Boom <hendrik@topoi.pooq.com>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Announce: ocaml bindings for gles 3
Date: Sun, 6 Mar 2016 12:14:28 +0100	[thread overview]
Message-ID: <20160306111427.GA15764@delli7.univ-savoie.fr> (raw)
In-Reply-To: <20160306004246.GA11238@topoi.pooq.com>

[-- Attachment #1: Type: text/plain, Size: 2195 bytes --]

On 16-03-05 19:42:46, Hendrik Boom wrote:
> Aren't there already bindings of OpenGL for OCaml?

Yes, but not for recent version of Open LG (i.e. version 3 and 4) or
GLES (any version).

gles3 are bindings for GLES which is available on every platforms
including cell phones and tablets.

The bindings also try to be different. Let me recall some context to
explain...  There are also some discussions about teaching below ...

In OpenGL 1 series, you could send the vertices of your object using
one function call per vertex. There was a fixed pipeline processing
your data using a lot of state variables.  There was also a stack of
matrices transformations.

With the apparition of GLSL (the Open GL Shading Language). All this
was not really used anymore, as the user is now free to do the
computation
 - on CPU
 - on GPU, for each vertex
 - on GPU, for each fragment

This is very flexible indeed. And the way to share data also improved
with VBO.

In GLES and Open 3 or 4, the fixed pipeline, the possibility to send
vertices one by one, matrices stack, ... have all been
removed. Shaders are mandatory if you want to render anything.

To my knowledge there are no bindings for Open GL >= 3 or GLES from
OCaml. So this is the first.

One problem with recent Open GL is teaching ... From C this is very
technical and almost unasable with students. The idea of my bindings
is to have

- lowlevel bindings that are already a bit easier than using C
  directly (more errors detected at typing and runtime).

- highlevel bindings usable by students, but also more confortable for
  the general programmer. I actually used thess bindings with my
  students this year ... Not perfect yet, but better than C or old
  OpenGL OCaml bindings.

I hope this clarify things ...

> Might there be a reason to convert my rather feeble
> video game to gles3?  (I'm currently using glMlite)

glMlite (from the web page) is OpenGL 1/2 with a sentence I do no get fully:
"glMLite is ready to develop forward compatible OpenGL 3.X programs!"

To know if should switch to gles3 .... you have to give it a try ...
If you have improvment to gles3 that would make you switch, please contribute !

Cheers,
Christophe

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

  reply	other threads:[~2016-03-06 11:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-05 23:18 Christophe Raffalli
2016-03-06  0:42 ` Hendrik Boom
2016-03-06 11:14   ` Christophe Raffalli [this message]
2016-03-06 14:03     ` Hezekiah M. Carty
2016-03-06 16:25       ` Christophe Raffalli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160306111427.GA15764@delli7.univ-savoie.fr \
    --to=christophe.raffalli@univ-savoie.fr \
    --cc=caml-list@inria.fr \
    --cc=hendrik@topoi.pooq.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).