From 6b524f0bcbb8139c7c99349b2425d680c249715f Mon Sep 17 00:00:00 2001 From: Robert Beckebans Date: Sun, 22 Mar 2020 13:46:58 +0100 Subject: [PATCH] Turned off HDR and shadow mapping defaults for Vulkan builds --- neo/renderer/Interaction.cpp | 2 +- neo/renderer/RenderBackend.cpp | 4 ++-- neo/renderer/RenderCommon.h | 2 +- neo/renderer/RenderProgs.cpp | 2 +- neo/renderer/RenderSystem_init.cpp | 25 +++++++++++++++++++------ 5 files changed, 24 insertions(+), 11 deletions(-) diff --git a/neo/renderer/Interaction.cpp b/neo/renderer/Interaction.cpp index e8da31b3..d3599301 100644 --- a/neo/renderer/Interaction.cpp +++ b/neo/renderer/Interaction.cpp @@ -200,7 +200,7 @@ static srfTriangles_t* R_CreateInteractionLightTris( const idRenderEntityLocal* // it is debatable if non-shadowing lights should light back faces. we aren't at the moment // RB: now we do with r_useHalfLambert, so don't cull back faces if we have smooth shadowing enabled if( r_lightAllBackFaces.GetBool() || light->lightShader->LightEffectsBackSides() - || shader->ReceivesLightingOnBackSides() || ent->parms.noSelfShadow || ent->parms.noShadow || r_usePBR.GetBool() || ( r_useHalfLambertLighting.GetInteger() && r_useShadowMapping.GetBool() ) ) + || shader->ReceivesLightingOnBackSides() || ent->parms.noSelfShadow || ent->parms.noShadow || r_useIBL.GetBool() || ( r_useHalfLambertLighting.GetInteger() && r_useShadowMapping.GetBool() ) ) { includeBackFaces = true; } diff --git a/neo/renderer/RenderBackend.cpp b/neo/renderer/RenderBackend.cpp index c8c876cd..e2a80b11 100644 --- a/neo/renderer/RenderBackend.cpp +++ b/neo/renderer/RenderBackend.cpp @@ -2045,13 +2045,13 @@ void idRenderBackend::AmbientPass( const drawSurf_t* const* drawSurfs, int numDr idVec4 ambientColor; float ambientBoost = 1.0f; - if( !r_usePBR.GetBool() ) + if( !r_useIBL.GetBool() ) { ambientBoost += r_useSSAO.GetBool() ? 0.2f : 0.0f; ambientBoost *= r_useHDR.GetBool() ? 1.1f : 1.0f; } - bool useIBL = r_usePBR.GetBool() && !fillGbuffer; + bool useIBL = r_useIBL.GetBool() && !fillGbuffer; ambientColor.x = r_forceAmbient.GetFloat() * ambientBoost; ambientColor.y = r_forceAmbient.GetFloat() * ambientBoost; diff --git a/neo/renderer/RenderCommon.h b/neo/renderer/RenderCommon.h index 57de2ec0..9b45241f 100644 --- a/neo/renderer/RenderCommon.h +++ b/neo/renderer/RenderCommon.h @@ -1118,7 +1118,7 @@ extern idCVar r_ssaoDebug; extern idCVar r_ssaoFiltering; extern idCVar r_useHierarchicalDepthBuffer; -extern idCVar r_usePBR; +extern idCVar r_useIBL; extern idCVar r_exposure; // RB end diff --git a/neo/renderer/RenderProgs.cpp b/neo/renderer/RenderProgs.cpp index c6ba9670..d42e298d 100644 --- a/neo/renderer/RenderProgs.cpp +++ b/neo/renderer/RenderProgs.cpp @@ -230,7 +230,7 @@ void idRenderProgManager::Init() r_useHalfLambertLighting.ClearModified(); r_useHDR.ClearModified(); - r_usePBR.ClearModified(); + r_useIBL.ClearModified(); uniforms.SetNum( RENDERPARM_TOTAL, vec4_zero ); diff --git a/neo/renderer/RenderSystem_init.cpp b/neo/renderer/RenderSystem_init.cpp index eec530f0..516e0bb3 100644 --- a/neo/renderer/RenderSystem_init.cpp +++ b/neo/renderer/RenderSystem_init.cpp @@ -108,7 +108,11 @@ idCVar r_jitter( "r_jitter", "0", CVAR_RENDERER | CVAR_BOOL, "randomly subpixel idCVar r_skipStaticInteractions( "r_skipStaticInteractions", "0", CVAR_RENDERER | CVAR_BOOL, "skip interactions created at level load" ); idCVar r_skipDynamicInteractions( "r_skipDynamicInteractions", "0", CVAR_RENDERER | CVAR_BOOL, "skip interactions created after level load" ); idCVar r_skipSuppress( "r_skipSuppress", "0", CVAR_RENDERER | CVAR_BOOL, "ignore the per-view suppressions" ); -idCVar r_skipPostProcess( "r_skipPostProcess", "0", CVAR_RENDERER | CVAR_BOOL, "skip all post-process renderings" ); +#if defined( USE_VULKAN ) + idCVar r_skipPostProcess( "r_skipPostProcess", "1", CVAR_RENDERER | CVAR_BOOL, "skip all post-process renderings" ); +#else + idCVar r_skipPostProcess( "r_skipPostProcess", "0", CVAR_RENDERER | CVAR_BOOL, "skip all post-process renderings" ); +#endif idCVar r_skipInteractions( "r_skipInteractions", "0", CVAR_RENDERER | CVAR_BOOL, "skip all light/surface interaction drawing" ); idCVar r_skipDynamicTextures( "r_skipDynamicTextures", "0", CVAR_RENDERER | CVAR_BOOL, "don't dynamically create textures" ); idCVar r_skipCopyTexture( "r_skipCopyTexture", "0", CVAR_RENDERER | CVAR_BOOL, "do all rendering, but don't actually copyTexSubImage2D" ); @@ -164,7 +168,7 @@ idCVar r_useScissor( "r_useScissor", "1", CVAR_RENDERER | CVAR_BOOL, "scissor cl idCVar r_useLightDepthBounds( "r_useLightDepthBounds", "1", CVAR_RENDERER | CVAR_BOOL, "use depth bounds test on lights to reduce both shadow and interaction fill" ); idCVar r_useShadowDepthBounds( "r_useShadowDepthBounds", "1", CVAR_RENDERER | CVAR_BOOL, "use depth bounds test on individual shadow volumes to reduce shadow fill" ); // RB begin -idCVar r_useHalfLambertLighting( "r_useHalfLambertLighting", "1", CVAR_RENDERER | CVAR_BOOL | CVAR_ARCHIVE, "use Half-Lambert lighting instead of classic Lambert, requires reloadShaders" ); +idCVar r_useHalfLambertLighting( "r_useHalfLambertLighting", "0", CVAR_RENDERER | CVAR_BOOL | CVAR_ARCHIVE, "use Half-Lambert lighting instead of classic Lambert, requires reloadShaders" ); // RB end idCVar r_screenFraction( "r_screenFraction", "100", CVAR_RENDERER | CVAR_INTEGER, "for testing fill rate, the resolution of the entire screen can be changed" ); @@ -233,7 +237,11 @@ idCVar stereoRender_deGhost( "stereoRender_deGhost", "0.05", CVAR_FLOAT | CVAR_A idCVar r_useVirtualScreenResolution( "r_useVirtualScreenResolution", "1", CVAR_RENDERER | CVAR_BOOL | CVAR_ARCHIVE, "do 2D rendering at 640x480 and stretch to the current resolution" ); // RB: shadow mapping parameters -idCVar r_useShadowMapping( "r_useShadowMapping", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_INTEGER, "use shadow mapping instead of stencil shadows" ); +#if defined( USE_VULKAN ) + idCVar r_useShadowMapping( "r_useShadowMapping", "0", CVAR_RENDERER | CVAR_ROM | CVAR_INTEGER, "use shadow mapping instead of stencil shadows" ); +#else + idCVar r_useShadowMapping( "r_useShadowMapping", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_INTEGER, "use shadow mapping instead of stencil shadows" ); +#endif idCVar r_shadowMapFrustumFOV( "r_shadowMapFrustumFOV", "92", CVAR_RENDERER | CVAR_FLOAT, "oversize FOV for point light side matching" ); idCVar r_shadowMapSingleSide( "r_shadowMapSingleSide", "-1", CVAR_RENDERER | CVAR_INTEGER, "only draw a single side (0-5) of point lights" ); idCVar r_shadowMapImageSize( "r_shadowMapImageSize", "1024", CVAR_RENDERER | CVAR_INTEGER, "", 128, 2048 ); @@ -252,7 +260,12 @@ idCVar r_shadowMapRegularDepthBiasScale( "r_shadowMapRegularDepthBiasScale", "0. idCVar r_shadowMapSunDepthBiasScale( "r_shadowMapSunDepthBiasScale", "0.999991", CVAR_RENDERER | CVAR_FLOAT, "shadowmap bias to fight shadow acne for cascaded shadow mapping with parallel lights" ); // RB: HDR parameters -idCVar r_useHDR( "r_useHDR", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_BOOL, "use high dynamic range rendering" ); +#if defined( USE_VULKAN ) + idCVar r_useHDR( "r_useHDR", "0", CVAR_RENDERER | CVAR_ROM | CVAR_BOOL, "use high dynamic range rendering" ); +#else + idCVar r_useHDR( "r_useHDR", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_BOOL, "use high dynamic range rendering" ); +#endif + idCVar r_hdrAutoExposure( "r_hdrAutoExposure", "1", CVAR_RENDERER | CVAR_BOOL, "EXPENSIVE: enables adapative HDR tone mapping otherwise the exposure is derived by r_exposure" ); idCVar r_hdrMinLuminance( "r_hdrMinLuminance", "0.005", CVAR_RENDERER | CVAR_FLOAT, "" ); idCVar r_hdrMaxLuminance( "r_hdrMaxLuminance", "300", CVAR_RENDERER | CVAR_FLOAT, "" ); @@ -269,7 +282,7 @@ idCVar r_ldrContrastOffset( "r_ldrContrastOffset", "3", CVAR_RENDERER | CVAR_FLO idCVar r_useFilmicPostProcessEffects( "r_useFilmicPostProcessEffects", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_BOOL, "apply several post process effects to mimic a filmic look" ); #if defined( USE_VULKAN ) - idCVar r_forceAmbient( "r_forceAmbient", "0.15", CVAR_RENDERER | CVAR_FLOAT, "render additional ambient pass to make the game less dark", 0.0f, 0.4f ); + idCVar r_forceAmbient( "r_forceAmbient", "0.2", CVAR_RENDERER | CVAR_FLOAT, "render additional ambient pass to make the game less dark", 0.0f, 0.4f ); #else idCVar r_forceAmbient( "r_forceAmbient", "0.3", CVAR_RENDERER | CVAR_FLOAT, "render additional ambient pass to make the game less dark", 0.0f, 0.4f ); #endif @@ -283,7 +296,7 @@ idCVar r_ssaoDebug( "r_ssaoDebug", "0", CVAR_RENDERER | CVAR_INTEGER, "" ); idCVar r_ssaoFiltering( "r_ssaoFiltering", "1", CVAR_RENDERER | CVAR_BOOL, "" ); idCVar r_useHierarchicalDepthBuffer( "r_useHierarchicalDepthBuffer", "1", CVAR_RENDERER | CVAR_BOOL, "" ); -idCVar r_usePBR( "r_usePBR", "1", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_BOOL, "use Physically Based Rendering inlcuding Image Based Lighting" ); +idCVar r_useIBL( "r_useIBL", "0", CVAR_RENDERER | CVAR_ARCHIVE | CVAR_BOOL, "use Image Based Lighting for ambient lighting (PBR)" ); idCVar r_exposure( "r_exposure", "0.5", CVAR_ARCHIVE | CVAR_RENDERER | CVAR_FLOAT, "HDR exposure or LDR brightness [0.0 .. 1.0]", 0.0f, 1.0f ); // RB end