From 95c8f452dee58e7e3a94fcc0a8e854452c0fa970 Mon Sep 17 00:00:00 2001 From: Alayan <25536748+Alayan-stk-2@users.noreply.github.com> Date: Mon, 29 Apr 2024 11:12:25 +0200 Subject: [PATCH] Update the LoD distance factors With the existing engine and tracks, when the framerate is rather GPU-limited, the performance cost of increasing LoD distance is minor. It becomes more significant at higher framerates when the CPU can be more of a limiting factor, but it also noticeably enhances the player experience by removing the distracting 'popping' when an object visibly changes shape or appears because of LoD. - Lowest is changed from 0.75 to 0.8 - Low is reduced to 0.8, just like Lowest. The difference is now only the display of optional geometry objects, but it's a big difference. - Medium is changed from 1.25 to 1.3 - High is changed from 1.3 to 1.8 - Very high is changed from 1.8 to 2.4 - Ultra is changed from 3.0 to 3.2 --- src/graphics/lod_node.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/graphics/lod_node.cpp b/src/graphics/lod_node.cpp index 60a26ca3b..c99ec8a87 100644 --- a/src/graphics/lod_node.cpp +++ b/src/graphics/lod_node.cpp @@ -191,12 +191,12 @@ void LODNode::autoComputeLevel(float scale) // Amount of details based on user's input float agressivity = 1.0; - if( UserConfigParams::m_geometry_level == 0) agressivity = 1.25; - else if(UserConfigParams::m_geometry_level == 1) agressivity = 1.0; - else if(UserConfigParams::m_geometry_level == 2) agressivity = 0.75; - else if(UserConfigParams::m_geometry_level == 3) agressivity = 1.6; - else if(UserConfigParams::m_geometry_level == 4) agressivity = 2.0; - else if(UserConfigParams::m_geometry_level == 5) agressivity = 3.0; + if( UserConfigParams::m_geometry_level == 0) agressivity = 1.3; + else if(UserConfigParams::m_geometry_level == 1) agressivity = 0.8; + else if(UserConfigParams::m_geometry_level == 2) agressivity = 0.8; // Also removes many objects + else if(UserConfigParams::m_geometry_level == 3) agressivity = 1.8; + else if(UserConfigParams::m_geometry_level == 4) agressivity = 2.4; + else if(UserConfigParams::m_geometry_level == 5) agressivity = 3.2; // First we try to estimate how far away we need to draw // This first formula is equivalent to the one used up to STK 1.4