From 01be71e4514969ad1fca6353d36b650e94605cf4 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Thu, 16 Mar 2023 16:04:47 -0700 Subject: [PATCH] Client: 'buildcubemaps' will toggle r_skipEnvmap, which is now also defaulting to a black clear color (akin to Source) --- platform/base_glsl.pk3dir/glsl/lightmapped.glsl | 4 +++- src/gs-entbase/client/env_cubemap.qc | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/base_glsl.pk3dir/glsl/lightmapped.glsl b/platform/base_glsl.pk3dir/glsl/lightmapped.glsl index 34a7285f..84023f3e 100644 --- a/platform/base_glsl.pk3dir/glsl/lightmapped.glsl +++ b/platform/base_glsl.pk3dir/glsl/lightmapped.glsl @@ -186,6 +186,7 @@ varying vec3 norm; // the lighting stage for the world #if defined(BUMP) + float refl = texture2D(s_normalmap, tex_c).a; // whether to respect our bump, or to act flat #if r_skipNormal == 0 @@ -200,7 +201,6 @@ varying vec3 norm; #if r_skipEnvmap == 0 vec3 cube_c; vec3 env_f; - float refl = texture2D(s_normalmap, tex_c).a; cube_c = reflect(normalize(-eyevector), vec3(0.0, 0.0, 1.0)); cube_c = cube_c.x * invsurface[0] + cube_c.y * invsurface[1] + @@ -208,6 +208,8 @@ varying vec3 norm; cube_c = (m_model * vec4(cube_c.xyz, 0.0)).xyz; env_f = textureCube(s_reflectcube, cube_c).rgb * (e_lmscale.rgb * 0.25); diffuse_f.rgb = mix(env_f, diffuse_f.rgb, refl); + #else + diffuse_f.rgb = mix(vec3(0.0, 0.0, 0.0), diffuse_f.rgb, refl); #endif #else diffuse_f.rgb *= lightmap_fragment(); diff --git a/src/gs-entbase/client/env_cubemap.qc b/src/gs-entbase/client/env_cubemap.qc index b34df72e..ffc5e905 100644 --- a/src/gs-entbase/client/env_cubemap.qc +++ b/src/gs-entbase/client/env_cubemap.qc @@ -115,6 +115,7 @@ CMap_Shoot(void) self.nextthink = time + 0.25f; } else { print("^2Cubemaps done...\n"); + localcmd("r_skipEnvmap 0\n"); localcmd("vid_reload\n"); g_iCubeProcess = FALSE; remove(self); @@ -159,6 +160,7 @@ CMap_Build(void) localcmd("r_wireframe 0\n"); localcmd("r_hdr_irisadaptation 0\n"); localcmd("r_postprocshader \"\"0\n"); + localcmd("r_skipEnvmap 1\n"); print("^4Building cubemaps...\n"); g_eCubeCycle = spawn(); g_eCubeCycle.owner = find(world, classname, "env_cubemap");