diff --git a/examples/GUI/OpenGLDemo.h b/examples/GUI/OpenGLDemo.h index b4d54d0481..564e9b3b91 100644 --- a/examples/GUI/OpenGLDemo.h +++ b/examples/GUI/OpenGLDemo.h @@ -763,6 +763,7 @@ public: controlsOverlay.reset (new DemoControlsOverlay (*this)); addAndMakeVisible (controlsOverlay.get()); + openGLContext.setOpenGLVersionRequired (OpenGLContext::openGL3_2); openGLContext.setRenderer (this); openGLContext.attachTo (*this); openGLContext.setContinuousRepainting (true); diff --git a/modules/juce_opengl/opengl/juce_OpenGLContext.cpp b/modules/juce_opengl/opengl/juce_OpenGLContext.cpp index b1c54c2565..e5f18a7cc9 100644 --- a/modules/juce_opengl/opengl/juce_OpenGLContext.cpp +++ b/modules/juce_opengl/opengl/juce_OpenGLContext.cpp @@ -195,9 +195,6 @@ public: if (context.renderer != nullptr) context.renderer->openGLContextClosing(); - if (vertexArrayObject != 0) - context.extensions.glDeleteVertexArrays (1, &vertexArrayObject); - associatedObjectNames.clear(); associatedObjects.clear(); cachedImageFrameBuffer.release(); @@ -400,6 +397,8 @@ public: if (context.renderer != nullptr) { + OpenGLRendering::SavedBinding vaoBinding; + glViewport (0, 0, viewportArea.getWidth(), viewportArea.getHeight()); context.currentRenderScale = currentAreaAndScale.scale; context.renderer->renderOpenGL(); @@ -955,7 +954,6 @@ public: RectangleList validArea; Rectangle lastScreenBounds; AffineTransform transform; - GLuint vertexArrayObject = 0; LockedAreaAndScale areaAndScale; StringArray associatedObjectNames;