Hi again,
I've been working with a number of OpenGL 2.0 concepts such as shader
programs, and I've come across a bit of a snag with ATI's OpenGL 2.0support.
The shader programs work fine with the libGL.so as supplied by nvidia (on my
home machine), but when using libGL.so from ATI on my work machine,
functions such as create-shader fail, as there is no such symbol in the
library. Using glXGetProcAddress to get the function pointer for
glCreateShader, however, is the required work around for the ATI library.
I was tempted to create a cl-glew library binding, however this won't really
work that well, as _that_ library also doesn't include all the symbols, and
relies on C preprocessor macros heavily to do the right thing.
Anyways, I was thinking instead of modifying cl-opengl instead to (perhaps
dependant on some switch?) use glXGetProcAddress for those functions that
aren't directly callable, memoized of course.
Does this sort of thing make sense in this context? It's been a while since
I've done a lot of lisp, and I'm also not super familiar with FFIs, so I
want to make sure I do this the lispyiest way possible.
-greg