Hi all, I've just been taking a quick peek at the OGL bindings that have been generated for this project. The bindings look nice.
1) Are the bindings all hand generated, or is there some simple automation helping out? 2) Does this project aim to generate raw bindings, and then a Lispy layer on top? 3) I noticed the OpenGL2 logo - is that the target version? 4) Is there a design in place to handle OGL extensions?
From the quick peek that I took glDrawArrays is not yet supported.
I'm guessing that this will require a bit of framework, because of the need to feed glDrawArrays (and other array based functions) data that won't move with GC. Are there any thoughts on how this will work? I would guess that using C's malloc might be an idea, but then there is potential for leaks unless you proxy the array with a Lisp object that can free the malloc'ed array when collected. I did notice something that looked like it copied a Lisp array into a foriegn array, but IMHO this will be too slow in the long term.
I'm toying with the idea of writing some OGL stuff in Lisp, and it looks to me that since array operations are so common in OpenGL, that they ought to be well supported by the binding. Am I making sense here, or are there aspects of this I am not understanding? It is quite possible, I'm relatively new to Lisp :)
Cheers Brad
On 2006-apr-11, at 18:28, Brad Beveridge wrote:
All written by hand. :-)
We're making it lispy as we go.
Yes.
No that I know of. Oliver might have some ideas. It'll probably be something based on cffi:foreign-symbol-pointer.
I did notice something that looked like it copied a Lisp array into a foriegn array, but IMHO this will be too slow in the long term.
CFFI needs some work on shareable vector interface. It's just waiting for someone who really needs that. :-)
Go for it. cl-opengl will certainly continue to improve.
cl-opengl-devel@common-lisp.net