From a480e1649fdf03104084137b5f4a91d956ed238a Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sun, 8 May 2022 13:12:51 +0200 Subject: [PATCH] Fix rim lighting math. --- language.version | 4 ++-- shaders/glsl/Envmap.fp | 2 +- shaders/glsl/Envmask.fp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/language.version b/language.version index 15724c091..65a694985 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.2.17 \cu(Sun 8 May 01:10:55 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.2.17 \cu(2022-05-08 01:10:55)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.2.18 \cu(Sun 8 May 13:14:40 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.2.18 \cu(2022-05-08 13:14:40)\c-"; diff --git a/shaders/glsl/Envmap.fp b/shaders/glsl/Envmap.fp index ef6753521..26a90d4d5 100644 --- a/shaders/glsl/Envmap.fp +++ b/shaders/glsl/Envmap.fp @@ -20,7 +20,7 @@ void SetupMaterial( inout Material mat ) vec2 uv2 = vec2(atan(rvec.z,abs(rvec.x))*RECIPROCAL_PI2+.5,asin(rvec.y)*RECIPROCAL_PI2+.5); vec3 envcol = textureGrad(tex,uv,dFdx(uv2),dFdy(uv2)).rgb*ENVFACT; #ifdef RIM_LIGHTING - float rim = smoothstep(RIMSTEP,1.,1.-clamp(dot(eye,norm),0.,1.)); + float rim = smoothstep(RIMSTEP,1.,1.-abs(dot(eye,norm))); vec3 rimcol = texture(rimtex,vec2(.25+.5*rim,.5)).rgb; envcol = mix(envcol,rimcol,rim*RIMFACT); #endif diff --git a/shaders/glsl/Envmask.fp b/shaders/glsl/Envmask.fp index 6ce74a447..d5920b996 100644 --- a/shaders/glsl/Envmask.fp +++ b/shaders/glsl/Envmask.fp @@ -22,7 +22,7 @@ void SetupMaterial( inout Material mat ) vec2 uv2 = vec2(atan(rvec.z,abs(rvec.x))*RECIPROCAL_PI2+.5,asin(rvec.y)*RECIPROCAL_PI2+.5); vec3 envcol = textureGrad(envtex,uv,dFdx(uv2),dFdy(uv2)).rgb*ENVFACT; #ifdef RIM_LIGHTING - float rim = smoothstep(RIMSTEP,1.,1.-clamp(dot(eye,norm),0.,1.)); + float rim = smoothstep(RIMSTEP,1.,1.-abs(dot(eye,norm))); vec3 rimcol = texture(rimtex,vec2(.25+.5*rim,.5)).rgb; envcol = mix(envcol,rimcol,rim*RIMFACT); #endif