Which openGL version to target


I am using openGL to draw a few surface plots and am wondering what openGL version to target. Most of my users are on laptops so may not have the latest and greatest chipsets. Any suggestions?


OpenGL 3 is the oldest futur proof version OpenGL with wide support for all desktop computer.
It’s first version introducing deprecation on old OpenGL 1 & 2 API.

look at this link for more infos


great! thanks for the link


IIRC, JUCE is using OpenGL 3.1, which means a lesser amount of Intel cards work with JUCE.

See here.


no. not true.
Juce just uses the context it gets. It’s not choosing/forcing an opengl profile.
On one pc it gives an 3.2 context with compatibility turned on, on a mac you get a 2.1 context.
On a virtual machine in vmware fusion, you’ll get a 2.1 context.

At the moment in juce, you can only choose pixelformats for the opengl context, not the opengl profile.
If you want a context >2.1 on a mac, or a core 3.2 context on a pc, or a 4.0 context on a pc, you’ll have to modify it yourself.
I think frongo already made some sample code on how to do that.

If you want real life compatibility, test on 2.1.
And shaders are supported from opengl 2 on. although you’ll have to be careful.
Test on as many cards as you can if you want to do fancy stuff.

And don’t trust the demo to work reliable. there are some things in the fixed path that, although not necessarily wrong according to the spec, crash or give unreliable results on some cards.