Platform: Rework defaultskin and defaultwall glsl their 'gl_ldr' hack to
how certain GoldSrc games look, with more accurate lightmap banding.
This commit is contained in:
parent
009462f3ee
commit
1d5cb6dcdb
2 changed files with 28 additions and 3 deletions
|
@ -78,9 +78,19 @@ varying vec3 light;
|
||||||
|
|
||||||
light *= e_lmscale.r;
|
light *= e_lmscale.r;
|
||||||
|
|
||||||
#if gl_ldr==1
|
if (gl_ldr == 1.0) {
|
||||||
light *= 0.75;
|
if (light.r > 1.5)
|
||||||
#endif
|
light.r = 1.5f;
|
||||||
|
if (light.g > 1.5)
|
||||||
|
light.g = 1.5f;
|
||||||
|
if (light.b > 1.5)
|
||||||
|
light.b = 1.5f;
|
||||||
|
|
||||||
|
light.rgb * 0.5f;
|
||||||
|
light.rgb = floor(light.rgb * vec3(32,64,32))/vec3(32,64,32);
|
||||||
|
light.rgb * 2.0f;
|
||||||
|
light.rgb *= 0.75f;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef CHROME
|
#ifdef CHROME
|
||||||
vec3 rorg = rlv(vec3(0,0,0), w, e_light_dir);
|
vec3 rorg = rlv(vec3(0,0,0), w, e_light_dir);
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
!!cvardf gl_mono
|
!!cvardf gl_mono
|
||||||
!!cvardf gl_kdither
|
!!cvardf gl_kdither
|
||||||
!!cvardf gl_stipplealpha
|
!!cvardf gl_stipplealpha
|
||||||
|
!!cvardf gl_ldr
|
||||||
|
|
||||||
!!cvardf r_skipDiffuse
|
!!cvardf r_skipDiffuse
|
||||||
!!cvardf r_skipLightmap
|
!!cvardf r_skipLightmap
|
||||||
|
@ -86,6 +87,19 @@ varying mat3 invsurface;
|
||||||
#else
|
#else
|
||||||
lightmaps = texture2D(s_lightmap, lm0).rgb * e_lmscale.rgb;
|
lightmaps = texture2D(s_lightmap, lm0).rgb * e_lmscale.rgb;
|
||||||
#endif
|
#endif
|
||||||
|
#if gl_ldr==1
|
||||||
|
if (lightmaps.r > 1.5)
|
||||||
|
lightmaps.r = 1.5f;
|
||||||
|
if (lightmaps.g > 1.5)
|
||||||
|
lightmaps.g = 1.5f;
|
||||||
|
if (lightmaps.b > 1.5)
|
||||||
|
lightmaps.b = 1.5f;
|
||||||
|
|
||||||
|
lightmaps.rgb * 0.5f;
|
||||||
|
lightmaps.rgb = floor(lightmaps.rgb * vec3(32,64,32))/vec3(32,64,32);
|
||||||
|
lightmaps.rgb * 2.0f;
|
||||||
|
#endif
|
||||||
|
|
||||||
return lightmaps;
|
return lightmaps;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
@ -142,6 +156,7 @@ varying mat3 invsurface;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/* lighting */
|
/* lighting */
|
||||||
|
//diffuse_f.rgb = vec3(1,1,1);
|
||||||
diffuse_f.rgb *= lightmap_fragment();
|
diffuse_f.rgb *= lightmap_fragment();
|
||||||
|
|
||||||
#ifdef REFLECTCUBE
|
#ifdef REFLECTCUBE
|
||||||
|
|
Loading…
Reference in a new issue