Merge gl_light_shadowmap and gl_light_raytrace cvars as gl_light_shadows
Rename gl_shadowmap_filter to gl_light_shadow_filter as it applies to raytraced shadows as well
This commit is contained in:
parent
9bcef148bf
commit
5e3d6e39a0
10 changed files with 44 additions and 33 deletions
|
|
@ -128,8 +128,28 @@ CUSTOM_CVARD(Int, gl_texture_filter, 6, CVAR_ARCHIVE|CVAR_GLOBALCONFIG|CVAR_NOIN
|
|||
|
||||
CVAR(Bool, gl_precache, true, CVAR_ARCHIVE)
|
||||
|
||||
CUSTOM_CVAR(Int, gl_light_shadows, 1, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)
|
||||
{
|
||||
if (self < 0 || self > 3)
|
||||
self = 1;
|
||||
}
|
||||
|
||||
CUSTOM_CVAR(Int, gl_shadowmap_filter, 1, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)
|
||||
CUSTOM_CVAR(Int, gl_light_shadow_filter, 1, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)
|
||||
{
|
||||
if (self < 0 || self > 8) self = 1;
|
||||
}
|
||||
|
||||
CUSTOM_CVAR(Int, gl_shadowmap_quality, 512, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)
|
||||
{
|
||||
switch (self)
|
||||
{
|
||||
case 128:
|
||||
case 256:
|
||||
case 512:
|
||||
case 1024:
|
||||
break;
|
||||
default:
|
||||
self = 128;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ EXTERN_CVAR(Int, gl_weaponlight)
|
|||
|
||||
EXTERN_CVAR (Bool, gl_light_sprites);
|
||||
EXTERN_CVAR (Bool, gl_light_particles);
|
||||
EXTERN_CVAR (Bool, gl_light_shadowmap);
|
||||
EXTERN_CVAR (Bool, gl_light_raytrace);
|
||||
EXTERN_CVAR (Int, gl_light_shadows);
|
||||
EXTERN_CVAR (Int, gl_light_shadow_filter);
|
||||
EXTERN_CVAR (Int, gl_shadowmap_quality);
|
||||
|
||||
EXTERN_CVAR(Int, gl_fogmode)
|
||||
|
|
@ -50,8 +50,6 @@ EXTERN_CVAR(Float, gl_ssao_blur_amount)
|
|||
EXTERN_CVAR(Int, gl_debug_level)
|
||||
EXTERN_CVAR(Bool, gl_debug_breakpoint)
|
||||
|
||||
EXTERN_CVAR(Int, gl_shadowmap_filter)
|
||||
|
||||
EXTERN_CVAR(Bool, gl_brightfog)
|
||||
EXTERN_CVAR(Bool, gl_lightadditivesurfaces)
|
||||
EXTERN_CVAR(Bool, gl_notexturefill)
|
||||
|
|
|
|||
|
|
@ -725,7 +725,7 @@ public:
|
|||
matrices.mGlobVis = 1.f;
|
||||
matrices.mPalLightLevels = palLightLevels;
|
||||
matrices.mClipLine.X = -10000000.0f;
|
||||
matrices.mShadowmapFilter = gl_shadowmap_filter;
|
||||
matrices.mShadowFilter = gl_light_shadow_filter;
|
||||
matrices.mLightBlendMode = 0;
|
||||
matrices.mProjectionMatrix.ortho(0, (float)width, (float)height, 0, -1.0f, 1.0f);
|
||||
matrices.CalcDependencies();
|
||||
|
|
|
|||
|
|
@ -59,9 +59,6 @@ cycle_t ShadowMap::UpdateCycles;
|
|||
int ShadowMap::LightsProcessed;
|
||||
int ShadowMap::LightsShadowmapped;
|
||||
|
||||
CVAR(Bool, gl_light_shadowmap, false, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)
|
||||
CVAR(Bool, gl_light_raytrace, false, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)
|
||||
|
||||
ADD_STAT(shadowmap)
|
||||
{
|
||||
FString out;
|
||||
|
|
@ -69,24 +66,9 @@ ADD_STAT(shadowmap)
|
|||
return out;
|
||||
}
|
||||
|
||||
CUSTOM_CVAR(Int, gl_shadowmap_quality, 512, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)
|
||||
{
|
||||
switch (self)
|
||||
{
|
||||
case 128:
|
||||
case 256:
|
||||
case 512:
|
||||
case 1024:
|
||||
break;
|
||||
default:
|
||||
self = 128;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool ShadowMap::ShadowTest(const DVector3 &lpos, const DVector3 &pos)
|
||||
{
|
||||
if (mAABBTree && gl_light_shadowmap)
|
||||
if (mAABBTree && gl_light_shadows > 0)
|
||||
return mAABBTree->RayTest(lpos, pos) >= 1.0f;
|
||||
else
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ struct HWViewpointUniforms
|
|||
int mViewHeight = 0;
|
||||
float mClipHeight = 0.f;
|
||||
float mClipHeightDirection = 0.f;
|
||||
int mShadowmapFilter = 1;
|
||||
int mShadowFilter = 1;
|
||||
|
||||
int mLightBlendMode = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -299,8 +299,8 @@ void VkRenderState::ApplyRenderPass(int dt)
|
|||
pipelineKey.ShaderKey.LightMode = 1; // Software
|
||||
}
|
||||
|
||||
pipelineKey.ShaderKey.UseShadowmap = gl_light_shadowmap;
|
||||
pipelineKey.ShaderKey.UseRaytrace = gl_light_raytrace;
|
||||
pipelineKey.ShaderKey.UseShadowmap = gl_light_shadows == 1;
|
||||
pipelineKey.ShaderKey.UseRaytrace = gl_light_shadows == 2;
|
||||
|
||||
pipelineKey.ShaderKey.GBufferPass = mRenderTarget.DrawBuffers > 1;
|
||||
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ sector_t* RenderViewpoint(FRenderViewpoint& mainvp, AActor* camera, IntRect* bou
|
|||
|
||||
R_SetupFrame(mainvp, r_viewwindow, camera);
|
||||
|
||||
if (mainview && toscreen && !(camera->Level->flags3 & LEVEL3_NOSHADOWMAP) && camera->Level->HasDynamicLights && gl_light_shadowmap && screen->allowSSBO() && (screen->hwcaps & RFL_SHADER_STORAGE_BUFFER))
|
||||
if (mainview && toscreen && !(camera->Level->flags3 & LEVEL3_NOSHADOWMAP) && camera->Level->HasDynamicLights && gl_light_shadows > 0 && screen->allowSSBO() && (screen->hwcaps & RFL_SHADER_STORAGE_BUFFER))
|
||||
{
|
||||
screen->mShadowMap->SetAABBTree(camera->Level->aabbTree);
|
||||
screen->mShadowMap->SetCollectLights([=] {
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ void HWDrawInfo::StartScene(FRenderViewpoint &parentvp, HWViewpointUniforms *uni
|
|||
VPUniforms.mPalLightLevels = static_cast<int>(gl_bandedswlight) | (static_cast<int>(gl_fogmode) << 8) | ((int)lightmode << 16);
|
||||
}
|
||||
VPUniforms.mClipLine.X = -10000000.0f;
|
||||
VPUniforms.mShadowmapFilter = static_cast<int>(gl_shadowmap_filter);
|
||||
VPUniforms.mShadowFilter = static_cast<int>(gl_light_shadow_filter);
|
||||
VPUniforms.mLightBlendMode = (level.info ? (int)level.info->lightblendmode : 0);
|
||||
}
|
||||
mClipper->SetViewpoint(Viewpoint);
|
||||
|
|
|
|||
|
|
@ -393,3 +393,7 @@ OPTMNU_SPRITE = "Sprite Options";
|
|||
GLPREFMNU_CORONAS = "Coronas";
|
||||
DSPLYMNU_APPEARANCE = "Appearance";
|
||||
DSPLYMNU_ADVANCED = "Advanced Display Options";
|
||||
OPTVAL_SHADOWMAP = "Shadowmap";
|
||||
OPTVAL_RAYTRACE = "Raytrace";
|
||||
GLLIGHTMNU_LIGHTSHADOWS = "Light shadows";
|
||||
GLLIGHTMNU_LIGHTSHADOWFILTER = "Shadow filter";
|
||||
|
|
|
|||
|
|
@ -1069,9 +1069,9 @@ OptionMenu "LightOptions" protected
|
|||
Option "$GLLIGHTMNU_LIGHTSPRITES", gl_light_sprites, "YesNo"
|
||||
Option "$GLLIGHTMNU_LIGHTPARTICLES", gl_light_particles, "YesNo"
|
||||
StaticText " "
|
||||
Option "$GLLIGHTMNU_LIGHTSHADOWMAP", gl_light_shadowmap, "YesNo"
|
||||
Option "$GLLIGHTMNU_LIGHTSHADOWS", gl_light_shadows, "ShadowMode"
|
||||
Option "$GLLIGHTMNU_LIGHTSHADOWFILTER", gl_light_shadow_filter, "ShadowFilter"
|
||||
Option "$GLLIGHTMNU_LIGHTSHADOWMAPQUALITY", gl_shadowmap_quality, "ShadowMapQuality"
|
||||
Option "$GLLIGHTMNU_LIGHTSHADOWMAPFILTER", gl_shadowmap_filter, "ShadowMapFilter"
|
||||
StaticText " "
|
||||
Option "$GLPREFMNU_SWLMBANDED", gl_bandedswlight, "OnOff"
|
||||
Option "$GLPREFMNU_FOGFORCEFULLBRIGHT", gl_brightfog, "YesNo"
|
||||
|
|
@ -2686,7 +2686,14 @@ OptionValue ShadowMapQuality
|
|||
1024, "1024"
|
||||
}
|
||||
|
||||
OptionValue ShadowMapFilter
|
||||
OptionValue ShadowMode
|
||||
{
|
||||
0, "$OPTVAL_NONE"
|
||||
1, "$OPTVAL_SHADOWMAP"
|
||||
2, "$OPTVAL_RAYTRACE"
|
||||
}
|
||||
|
||||
OptionValue ShadowFilter
|
||||
{
|
||||
0, "$OPTVAL_NEAREST"
|
||||
1, "$OPTVAL_PCF_LOW"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue