diff --git a/src/engine/renderer/gl_shader.cpp b/src/engine/renderer/gl_shader.cpp index a9adb51228..7e0b10b0f7 100644 --- a/src/engine/renderer/gl_shader.cpp +++ b/src/engine/renderer/gl_shader.cpp @@ -2114,7 +2114,7 @@ bool GLCompileMacro_USE_GRID_DELUXE_MAPPING::HasConflictingMacros(size_t permuta { for (const GLCompileMacro* macro : macros) { - if ((permutation & macro->GetBit()) != 0 && (macro->GetType() == USE_DELUXE_MAPPING || macro->GetType() == USE_BSP_SURFACE)) + if ((permutation & macro->GetBit()) != 0 && (macro->GetType() == USE_DELUXE_MAPPING)) { return true; } @@ -2142,19 +2142,6 @@ bool GLCompileMacro_USE_GRID_LIGHTING::HasConflictingMacros(size_t permutation, return false; } -bool GLCompileMacro_USE_BSP_SURFACE::HasConflictingMacros(size_t permutation, const std::vector ¯os) const -{ - for (const GLCompileMacro* macro : macros) - { - if ((permutation & macro->GetBit()) != 0 && (macro->GetType() == USE_GRID_DELUXE_MAPPING)) - { - return true; - } - } - - return false; -} - void GLShader::RegisterUniform( GLUniform* uniform ) { _uniforms.push_back( uniform ); } diff --git a/src/engine/renderer/gl_shader.h b/src/engine/renderer/gl_shader.h index 0f857de57c..809918df6f 100644 --- a/src/engine/renderer/gl_shader.h +++ b/src/engine/renderer/gl_shader.h @@ -1029,8 +1029,6 @@ class GLCompileMacro_USE_BSP_SURFACE : return "USE_BSP_SURFACE"; } - bool HasConflictingMacros(size_t permutation, const std::vector< GLCompileMacro * > ¯os) const override; - EGLCompileMacro GetType() const override { return EGLCompileMacro::USE_BSP_SURFACE; diff --git a/src/engine/renderer/glsl_source/computeLight_fp.glsl b/src/engine/renderer/glsl_source/computeLight_fp.glsl index 34c59389f0..f924a08a69 100644 --- a/src/engine/renderer/glsl_source/computeLight_fp.glsl +++ b/src/engine/renderer/glsl_source/computeLight_fp.glsl @@ -90,7 +90,7 @@ void computeDeluxeLight( vec3 lightDir, vec3 normal, vec3 viewDir, vec3 lightCol // clamp( NdotL, 0.0, 1.0 ) is done below float NdotL = dot( normal, lightDir ); - #if !defined(USE_BSP_SURFACE) && defined(r_halfLambertLighting) + #if defined(USE_GRID_LIGHTING) && defined(r_halfLambertLighting) // http://developer.valvesoftware.com/wiki/Half_Lambert NdotL = NdotL * 0.5 + 0.5; NdotL *= NdotL; diff --git a/src/engine/renderer/tr_bsp.cpp b/src/engine/renderer/tr_bsp.cpp index 29cb4bb626..f74c6572ee 100644 --- a/src/engine/renderer/tr_bsp.cpp +++ b/src/engine/renderer/tr_bsp.cpp @@ -4653,7 +4653,11 @@ static void SetWorldLight() { // Game model surfaces use grid lighting, they don't have vertex light colors. tr.modelDeluxe = deluxeMode_t::GRID; - // Only game models use emulated deluxe map from light direction grid. + // Only game models use emulated deluxe map from light direction grid, unless the + // `r_lightMode 2` debug option is used. + if ( tr.worldLight == lightMode_t::GRID ) { + tr.worldDeluxe = deluxeMode_t::GRID; + } } }