From 6da796f7357134fa54577b7abeb7f07a1c55b662 Mon Sep 17 00:00:00 2001 From: samcake Date: Thu, 30 Apr 2015 23:31:56 -0700 Subject: [PATCH] fix the bug with sahdows on Mac due to the fbo needing a colorbuffer even though it's not needed --- libraries/gpu/src/gpu/GLBackendOutput.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libraries/gpu/src/gpu/GLBackendOutput.cpp b/libraries/gpu/src/gpu/GLBackendOutput.cpp index 2529070b18..dd8e9c68b6 100755 --- a/libraries/gpu/src/gpu/GLBackendOutput.cpp +++ b/libraries/gpu/src/gpu/GLBackendOutput.cpp @@ -74,6 +74,19 @@ GLBackend::GLFramebuffer* GLBackend::syncGPUObject(const Framebuffer& framebuffe } } } +#if (GPU_FEATURE_PROFILE == GPU_LEGACY) + // for reasons that i don;t understand yet, it seems that on mac gl, a fbo must have a color buffer... + else { + GLuint renderBuffer = 0; + glGenRenderbuffers(1, &renderBuffer); + glBindRenderbuffer(GL_RENDERBUFFER, renderBuffer); + glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA, framebuffer.getWidth(), framebuffer.getHeight()); + glBindRenderbuffer(GL_RENDERBUFFER, 0); + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, renderBuffer); + CHECK_GL_ERROR(); + } +#endif + if (framebuffer.hasDepthStencil()) { auto surface = framebuffer.getDepthStencilBuffer();