Hi everyone!
I’ve been working on making shaders for a plugin for a while without issues on macOS, but when testing on Windows, the shaders appear for a single frame and disapear immediately…
After some digging I found out that the plugin is using the Intel integrated graphics card if I don’t explicitly specify the NVIDIA control panel to use my main graphics card, which displays the shaders just fine.
After some more digging I realized that the NVIDIA card was indeed using openGL 3.2, as I specified in “setOpenGLVersionRequired (juce::OpenGLContext::openGL3_2)”, but the Intel one is using 4.6.
I understand that the version required by JUCE is a minimum requirement, and that any later OGL version should be compatible. So my question is: Does anybody know of any compatibility issues/breaking changes between 3.2 and 4.6, or if there’s a way to force my Intel card to use 3.2?
As additional info, I get these debug messages when in 4.6:
“OpenGL DBG message: Buffer detailed info: Buffer object 1 (bound to GL_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.
OpenGL DBG message: Buffer detailed info: Buffer object 3 (bound to GL_ELEMENT_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.
OpenGL DBG message: Buffer detailed info: Buffer object 2 (bound to GL_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.
OpenGL DBG message: Buffer detailed info: Buffer object 2 (bound to GL_ARRAY_BUFFER_ARB, usage hint is GL_STATIC_DRAW) will use VIDEO memory as the source for buffer object operations.”
But from what I understood these are just informative and should not break the shader.
Thanks a lot if anybody has a clue on what’s happening!
Best,
Charles