1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

OpenGL: Ensure a VAO is bound before calling user render callback

This commit is contained in:
reuk 2023-08-01 13:41:16 +01:00
parent e4b8569b12
commit 17deafbb0d
No known key found for this signature in database
GPG key ID: FCB43929F012EE5C
2 changed files with 3 additions and 4 deletions

View file

@ -763,6 +763,7 @@ public:
controlsOverlay.reset (new DemoControlsOverlay (*this)); controlsOverlay.reset (new DemoControlsOverlay (*this));
addAndMakeVisible (controlsOverlay.get()); addAndMakeVisible (controlsOverlay.get());
openGLContext.setOpenGLVersionRequired (OpenGLContext::openGL3_2);
openGLContext.setRenderer (this); openGLContext.setRenderer (this);
openGLContext.attachTo (*this); openGLContext.attachTo (*this);
openGLContext.setContinuousRepainting (true); openGLContext.setContinuousRepainting (true);

View file

@ -195,9 +195,6 @@ public:
if (context.renderer != nullptr) if (context.renderer != nullptr)
context.renderer->openGLContextClosing(); context.renderer->openGLContextClosing();
if (vertexArrayObject != 0)
context.extensions.glDeleteVertexArrays (1, &vertexArrayObject);
associatedObjectNames.clear(); associatedObjectNames.clear();
associatedObjects.clear(); associatedObjects.clear();
cachedImageFrameBuffer.release(); cachedImageFrameBuffer.release();
@ -400,6 +397,8 @@ public:
if (context.renderer != nullptr) if (context.renderer != nullptr)
{ {
OpenGLRendering::SavedBinding<OpenGLRendering::TraitsVAO> vaoBinding;
glViewport (0, 0, viewportArea.getWidth(), viewportArea.getHeight()); glViewport (0, 0, viewportArea.getWidth(), viewportArea.getHeight());
context.currentRenderScale = currentAreaAndScale.scale; context.currentRenderScale = currentAreaAndScale.scale;
context.renderer->renderOpenGL(); context.renderer->renderOpenGL();
@ -955,7 +954,6 @@ public:
RectangleList<int> validArea; RectangleList<int> validArea;
Rectangle<int> lastScreenBounds; Rectangle<int> lastScreenBounds;
AffineTransform transform; AffineTransform transform;
GLuint vertexArrayObject = 0;
LockedAreaAndScale areaAndScale; LockedAreaAndScale areaAndScale;
StringArray associatedObjectNames; StringArray associatedObjectNames;