From 9118b0d16486fae5a01794ed11b8f06659878f12 Mon Sep 17 00:00:00 2001 From: Jesse Buhagiar Date: Sat, 8 Jan 2022 01:54:50 +1100 Subject: [PATCH] LibGL: Support enabling/disabling lights via `glEnable()/Disable()` --- .../Libraries/LibGL/SoftwareGLContext.cpp | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Userland/Libraries/LibGL/SoftwareGLContext.cpp b/Userland/Libraries/LibGL/SoftwareGLContext.cpp index 43cd46865b..cfe6549ea7 100644 --- a/Userland/Libraries/LibGL/SoftwareGLContext.cpp +++ b/Userland/Libraries/LibGL/SoftwareGLContext.cpp @@ -697,6 +697,17 @@ void SoftwareGLContext::gl_enable(GLenum capability) m_active_texture_unit->set_texture_cube_map_enabled(true); m_sampler_config_is_dirty = true; break; + case GL_LIGHT0: + case GL_LIGHT1: + case GL_LIGHT2: + case GL_LIGHT3: + case GL_LIGHT4: + case GL_LIGHT5: + case GL_LIGHT6: + case GL_LIGHT7: + m_light_states.at(capability - GL_LIGHT0).is_enabled = true; + m_light_state_is_dirty = true; + break; case GL_TEXTURE_GEN_Q: case GL_TEXTURE_GEN_R: case GL_TEXTURE_GEN_S: @@ -752,6 +763,17 @@ void SoftwareGLContext::gl_disable(GLenum capability) case GL_LIGHTING: m_lighting_enabled = false; break; + case GL_LIGHT0: + case GL_LIGHT1: + case GL_LIGHT2: + case GL_LIGHT3: + case GL_LIGHT4: + case GL_LIGHT5: + case GL_LIGHT6: + case GL_LIGHT7: + m_light_states.at(capability - GL_LIGHT0).is_enabled = false; + m_light_state_is_dirty = true; + break; case GL_NORMALIZE: m_normalize = false; rasterizer_options.normalization_enabled = false;