diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2025-04-02 00:05:57 +0300 |
|---|---|---|
| committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2025-04-05 09:28:26 +0300 |
| commit | cc54e206c3ea390a3a14829a4ac40ce5d98f5965 (patch) | |
| tree | 775e75eae5c384334b6c08b76754317b9d03a685 /indra/newview/llviewerdisplay.cpp | |
| parent | 0c056c77f4eddb13e3e7a2a1d3d4b881dc07ea46 (diff) | |
#3575 Shrink draw distance when VRAM is very low
Diffstat (limited to 'indra/newview/llviewerdisplay.cpp')
| -rw-r--r-- | indra/newview/llviewerdisplay.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 32019f860d..27718782ee 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -215,11 +215,15 @@ void display_update_camera() final_far = gSavedSettings.getF32("RenderReflectionProbeDrawDistance"); } else if (CAMERA_MODE_CUSTOMIZE_AVATAR == gAgentCamera.getCameraMode()) - { final_far *= 0.5f; } + else if (LLViewerTexture::sDesiredDiscardBias > 2.f) + { + final_far = llmax(32.f, final_far / (LLViewerTexture::sDesiredDiscardBias - 1.f)); + } LLViewerCamera::getInstance()->setFar(final_far); + LLVOAvatar::sRenderDistance = llclamp(final_far, 16.f, 256.f); gViewerWindow->setup3DRender(); if (!gCubeSnapshot) |
