From 87c89885baf9de0d1cdc7e60b42e4b6fde55de98 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Tue, 15 Jul 2025 13:21:41 -0700 Subject: [PATCH] For MaxLOD values > 5, disable LOD threshold and view limits (#609) --- CONFIG/res/maindialog.ui | 2 +- LEGO1/viewmanager/viewmanager.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CONFIG/res/maindialog.ui b/CONFIG/res/maindialog.ui index 526c31d8..f51f70a5 100644 --- a/CONFIG/res/maindialog.ui +++ b/CONFIG/res/maindialog.ui @@ -291,7 +291,7 @@ A higher setting will cause higher quality textures to be drawn regardless of di - 50 + 60 5 diff --git a/LEGO1/viewmanager/viewmanager.cpp b/LEGO1/viewmanager/viewmanager.cpp index fd0d4a84..a6f4aaba 100644 --- a/LEGO1/viewmanager/viewmanager.cpp +++ b/LEGO1/viewmanager/viewmanager.cpp @@ -235,7 +235,7 @@ inline void ViewManager::ManageVisibilityAndDetailRecursively(ViewROI* p_from, i if (p_from->GetWorldBoundingSphere().Radius() > 0.001F) { float projectedSize = ProjectedSize(p_from->GetWorldBoundingSphere()); - if (projectedSize < seconds_allowed * g_viewDistance) { + if (RealtimeView::GetUserMaxLOD() <= 5.0f && projectedSize < seconds_allowed * g_viewDistance) { if (p_from->GetLodLevel() != ViewROI::c_lodLevelInvisible) { ManageVisibilityAndDetailRecursively(p_from, ViewROI::c_lodLevelInvisible); } @@ -361,7 +361,7 @@ inline int ViewManager::CalculateLODLevel(float p_maximumScale, float p_initialS assert(from); if (GetFirstLODIndex(from) != 0) { - if (p_maximumScale < g_minLODThreshold) { + if (RealtimeView::GetUserMaxLOD() <= 5.0f && p_maximumScale < g_minLODThreshold) { return 0; } else {