Because JUCE_OPENGL3 isn’t defined and set to 1, you can’t compile a JUCE application with the OpenGL 3 pipeline built into the OpenGLContext on Windows.
Quick question, how can I detect if the OpenGL 3 pipeline is properly included ? I have done the change you suggested in a project using OpenGL (Windows 8.1 64 bits) and it still works like before
Would this not break some people’s code who expect, for example, their shaders to be processed with pre opengl 3? Isn’t it safer to just specify this as a pre-processor macro in the .jucer file if you want to use Open GL 3?
Yes it would be great to be able to specify this as a preprocessor macro But anyway I’m not sure in 2017 anybody still does anything using a version of OpenGL < 3
Perhaps… even so it begs the question why a macro is used at all: the OpenGLContext class has a method specifically designed to specify the OpenGL version to use. In other words, the of lack of this macro on Windows circumvents OpenGLContext::setOpenGLVersionRequired, removing VBO support entirely.