From c64c2212ad7a6ce757ccb2f7ce07a13d9f34a263 Mon Sep 17 00:00:00 2001 From: AtomicWalrus Date: Sat, 15 Apr 2023 15:21:49 -0600 Subject: [PATCH] Fix for MacOS OGL 4.1 support Workaround: MacOS does not have access to glClipControl. Because the lower range of the 32F buffer is not available using this workaround, the improvements to depth behavior from depth reversal will be limited on MacOS. Behavior is equivalent to reversed depth on a 24UINT buffer; Better than stock, but not dramatically. --- Engine/source/gfx/gl/gfxGLDevice.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Engine/source/gfx/gl/gfxGLDevice.cpp b/Engine/source/gfx/gl/gfxGLDevice.cpp index 9c0df9ce1..07dfcb10d 100644 --- a/Engine/source/gfx/gl/gfxGLDevice.cpp +++ b/Engine/source/gfx/gl/gfxGLDevice.cpp @@ -191,7 +191,12 @@ void GFXGLDevice::initGLState() glGenVertexArrays(1, &vao); glBindVertexArray(vao); + // MacOS uses OGL 4.1. This workaround is functional, but will not provide the improvied depth performance. +#if defined(__MACOSX__) + glDepthRangef(0.0, 1.0); +#else glClipControl(GL_LOWER_LEFT, GL_ZERO_TO_ONE); +#endif //enable sRGB glEnable(GL_FRAMEBUFFER_SRGB);