[Gridflow-dev] OpenGL wrangling
claudiusmaximus at goto10.org
Tue Aug 10 08:08:45 EDT 2010
On 10/08/10 01:09, Mathieu Bouchard wrote:
> On Mon, 9 Aug 2010, Claude Heiland-Allen wrote:
>> My standard workaround is to use GLEW which usually makes things
>> just work (unless a function really isn't supported, in which case the
>> function pointer is 0 - shifting existence checks from compile-time to
>> run-time has some problems too of course...). I don't know how this
>> would interact with Gem's usage (or not) of GLEW, though.
I did a brief test: creating a new patch with
error: [gf/gl] inlet 0 method blend_equation: need OpenGL ARB_imaging
... you might be able to track this down from the Find menu.
and retrying results in no error: this is to be expected (provided that
you do have ARB_imaging) as Gem initializes GLEW at (each) gemwin
creation (at least the Gem version I have...)
> I added checks for null pointers for the methods you mentioned, except
> the ARB. Does it look ok ? Should I do it with all the ARB as well ?
Thanks for adding them, I realized this step was missing after I went to
bed. The null pointer chacks could be grouped together by checking the
supported OpenGL versions and extensions, though it's probably neither
easier or clearer to do it that way, depending on how gridflow is
implemented (especially as drivers can lie and say they support an
extension but don't implement all of its functions, etc).
I think my main machine does support the GL_ARB_imaging extension, but
I'm fairly sure my old one doesn't; adding a null check to
glBlendEquation should be fine (I have done this in r6006; I also think
the #ifdef ARB thing is unnecessary as GLEW should define all the
constants from everywhere).
BTW, there are many different extensions/functions with ARB in the
name, so "the ARB stuff" is too vague to be useful :)
> Do you have anything else that still doesn't compile ? (macro constants
> not found and stuff)
No, it compiles fine (even with -DARB) - the (only?) problem with GLEW
is that the existence checks are shifted to runtime so you have to code
More information about the Gridflow-dev