OpenGLExtensionFunctions & juce_MissingGLDefinitions


#1

Hey,

is OpenGLExtensionFunctions intended for general use, or is it for juce internal use only?
it doesn’t appear in the documentation, nor is it included directly in juce_opengl.h
but it’s certainly a useful tool, rather than having to use glee at windows and I-don’t-know-what if I want to build on linux etc.

wrt juce_MissingGLDefinitions.h, that doesn’t get included by juce_opengl.h but would certainly be useful as well.

cheers, Yair


#2

I only really created it for internal use, which meant I only needed to add the functions that I needed. Could be worth making public at some point, I guess.


#3

Wasn’t that originally the case for JUCE too? :slight_smile:

+1

though then you may get lots of requests for more functions (for example currently I’m missing glBlendEquation which I added in my branch https://github.com/yairchu/JUCE/commit/125f08551e819db474f94e864d56c17eac400963 )

cheers, Yair


#4

I’m a bit afraid that it’d turn into an endless series of feature-requests for new functions…

How do openGL programmers normally handle all these stupid similar-but-not-quite-the-same function names? Does everyone end up writing something like I did? Or do they just have #ifdefs all over their code to call alternative versions of a function?


#5

My personal experience:
[list]
[] First program stuff on OS X oblivious to the concept of OpenGL extensions.[/]
[] Find out my code doesn’t work on Windows.[/]
[] Use GLEE to make the GL extension functions work again.[/]
[] Find out GLSL shaders don’t quite work on some old Windows PCs that I want to support so use Cg on windows and GLSL on OS X… (sometimes I hate computers…)[/][/list]

I’d prefer not to use GLEE (which is why I try OpenGLExtensionFunctions) so to have less dependencies and hopefully for my stuff to be more cross-platform (work on linux too etc).

I suppose the best thing, though more time consuming, is to support all GL extensions like GLEE/GLEW do, via code generation or such.