diff --git a/src/rendering/hwrenderer/hw_dynlightdata.cpp b/src/rendering/hwrenderer/hw_dynlightdata.cpp index 597ee2e92..b4eb326ed 100644 --- a/src/rendering/hwrenderer/hw_dynlightdata.cpp +++ b/src/rendering/hwrenderer/hw_dynlightdata.cpp @@ -46,6 +46,8 @@ thread_local FDynLightData lightdata; CVAR (Bool, gl_light_sprites, true, CVAR_ARCHIVE | CVAR_GLOBALCONFIG); CVAR (Bool, gl_light_particles, true, CVAR_ARCHIVE | CVAR_GLOBALCONFIG); +CVAR (Bool, gl_light_shadow_nearest_dither, true, CVAR_ARCHIVE | CVAR_GLOBALCONFIG); + //========================================================================== // @@ -154,7 +156,7 @@ void AddLightToList(FDynLightData &dld, int group, FDynamicLight * light, bool f info.z = float(pos.Y); info.y = float(pos.Z); - info.softShadowRadius = light->GetSoftShadowRadius(); + info.softShadowRadius = (gl_light_shadow_filter == 0 && !gl_light_shadow_nearest_dither)? 0 : light->GetSoftShadowRadius(); info.linearity = std::clamp(light->GetLinearity(), 0.0f, 1.0f); diff --git a/wadsrc/static/language.def b/wadsrc/static/language.def index ea40cb9f8..b59afc857 100644 --- a/wadsrc/static/language.def +++ b/wadsrc/static/language.def @@ -434,4 +434,5 @@ OPTVAL_RAYTRACE_PRECISE = "Raytrace (precise)"; GLLIGHTMNU_SPRITELIGHT = "Sprite lighting method"; OPTVAL_CPUSPRITELIGHT = "CPU"; OPTVAL_GPUVERTEXSPRITELIGHT= "GPU (per vertex)"; -OPTVAL_GPUPERPIXELSPRITELIGHT = "GPU (per pixel)"; \ No newline at end of file +OPTVAL_GPUPERPIXELSPRITELIGHT = "GPU (per pixel)"; +GLLIGHTMNU_LIGHTSHADOW_DITHER = "Nearest Raytraced Shadows Dithering"; \ No newline at end of file diff --git a/wadsrc/static/menudef.txt b/wadsrc/static/menudef.txt index 5200e81a3..b761667e8 100644 --- a/wadsrc/static/menudef.txt +++ b/wadsrc/static/menudef.txt @@ -1069,6 +1069,7 @@ OptionMenu "LightOptions" protected StaticText " " Option "$GLLIGHTMNU_LIGHTSHADOWS", gl_light_shadows, "ShadowMode" Option "$GLLIGHTMNU_LIGHTSHADOWFILTER", gl_light_shadow_filter, "ShadowFilter" + Option "$GLLIGHTMNU_LIGHTSHADOW_DITHER", gl_light_shadow_nearest_dither, "YesNo" Option "$GLLIGHTMNU_LIGHTSHADOWMAPQUALITY", gl_shadowmap_quality, "ShadowMapQuality" StaticText " " Option "$GLPREFMNU_SWLMBANDED", gl_bandedswlight, "OnOff"