Age | Commit message (Collapse) | Author |
|
|
|
|
|
# Conflicts:
# indra/llcommon/lldate.h
# indra/newview/llappviewer.cpp
# indra/newview/llinventorybridge.cpp
# indra/newview/llmaterialeditor.cpp
# indra/newview/llviewerparceloverlay.cpp
# indra/newview/llvoavatar.cpp
|
|
Refactor tonemap blending to preserve HDR detail during mix
|
|
The blending operation for the `tonemap_mix` uniform in `postDeferredTonemap.glsl` incorrectly used a prematurely clamped color value as the source for the linear mix target. Specifically, the exposed HDR input color was clamped to the [0, 1] LDR range before being used in the `mix()` function when `tonemap_mix < 1.0`.
This premature clamping resulted in the loss of High Dynamic Range (HDR) detail in highlights during the blend operation. As `tonemap_mix` was reduced, instead of smoothly blending towards the linear scene representation, clipped highlights were incorrectly reintroduced.
This commit modifies the `toneMap` and `toneMapNoExposure` functions to correct this logic:
1. The original linear input color is preserved before exposure/processing.
2. The appropriate exposure factor is calculated and applied separately.
3. The chosen tone mapping operator is applied to the exposed color, storing the result.
4. The `mix()` function now correctly blends between the appropriately scaled, *unclamped* linear input color and the fully tone-mapped result.
5. The final clamp to the [0, 1] LDR range is applied *after* the blend operation.
This change ensures that HDR information is preserved throughout the blending process, resulting in a smoother, more perceptually correct visual transition as `tonemap_mix` is adjusted. While the effect is nuanced, it is noticeable in bright highlights; with the legacy code, these highlights appeared visibly clipped and less intense during the blend, whereas the corrected code allows them to retain their peak brightness and detail more accurately. This makes the `tonemap_mix` control more intuitive, behaving as a true intensity blend for the tone mapping effect without introducing clipping artifacts. The computational cost is negligible.
|
|
in List view; update persistence of new settings
|
|
# Conflicts:
# indra/llmath/v2math.cpp
# indra/llmath/v2math.h
# indra/llmath/v3math.h
# indra/llmath/v4math.h
# indra/llui/llfolderviewitem.cpp
# indra/llui/llfolderviewitem.h
# indra/llui/llfolderviewmodel.h
# indra/llui/llmodaldialog.cpp
# indra/llui/lltexteditor.cpp
# indra/llui/lltexteditor.h
# indra/llwindow/llwindowwin32.cpp
# indra/newview/llagent.cpp
# indra/newview/llagentcamera.h
# indra/newview/llavatarrenderinfoaccountant.cpp
# indra/newview/llconversationmodel.h
# indra/newview/llfloaterinventorysettings.cpp
# indra/newview/llfloaternamedesc.cpp
# indra/newview/llfloaternamedesc.h
# indra/newview/llfloaterobjectweights.cpp
# indra/newview/llfloaterobjectweights.h
# indra/newview/llfolderviewmodelinventory.h
# indra/newview/llinspecttexture.cpp
# indra/newview/llinventorybridge.cpp
# indra/newview/llinventorybridge.h
# indra/newview/llinventoryfunctions.cpp
# indra/newview/llinventorygallery.h
# indra/newview/llinventorygallerymenu.cpp
# indra/newview/llinventorymodel.cpp
# indra/newview/llinventorypanel.cpp
# indra/newview/llinventorypanel.h
# indra/newview/llmaterialeditor.cpp
# indra/newview/lloutfitgallery.cpp
# indra/newview/lloutfitgallery.h
# indra/newview/lloutfitslist.cpp
# indra/newview/lloutfitslist.h
# indra/newview/llpanelgroupcreate.cpp
# indra/newview/llpanelgroupgeneral.cpp
# indra/newview/llpanelobjectinventory.cpp
# indra/newview/llpaneloutfitsinventory.h
# indra/newview/llpanelprofile.cpp
# indra/newview/llpanelwearing.cpp
# indra/newview/llreflectionmap.cpp
# indra/newview/llselectmgr.cpp
# indra/newview/llsidepanelappearance.cpp
# indra/newview/llsidepaneliteminfo.cpp
# indra/newview/llteleporthistorystorage.cpp
# indra/newview/lltexturectrl.cpp
# indra/newview/lltexturectrl.h
# indra/newview/lltexturefetch.cpp
# indra/newview/lltexturefetch.h
# indra/newview/llviewerassetupload.cpp
# indra/newview/llviewercamera.cpp
# indra/newview/llviewercamera.h
# indra/newview/llviewermenufile.cpp
# indra/newview/llviewerobject.h
# indra/newview/llviewertexture.cpp
# indra/newview/llviewerwindow.cpp
# indra/newview/llvoavatar.cpp
# indra/newview/llvoavatar.h
# indra/newview/llvoavatarself.cpp
# indra/newview/llvovolume.cpp
# indra/newview/llvovolume.h
# indra/newview/tests/llviewerassetstats_test.cpp
|
|
# Conflicts:
# indra/newview/llappviewer.cpp
|
|
New optimisation and resolution shadow options
|
|
|
|
|
|
|
|
divisor to 1.
tl;dr - this helps avoid frequent texture reuploads to VRAM in some texture heavy areas. This speaks to some bigger problems we're seeing in our texture streaming system however. You will see similar problems by manually setting the texture VRAM manually.
|
|
|
|
* Readd max probe count. Disable dynamic probe allocation by default (for now).
|
|
|
|
* #3788 Support dynamic probe allocation.
* #3738 Mitigate probe flashing
* #3735 Mitigate realtime probes flashing
|
|
|
|
|
|
|
|
* #3409 Make probe count adjustable to better accomodate low VRAM scenarios
|
|
which isn't used anyway in that file, and differs in parameter
qualifiers, which caused a crash (only) on Ubuntu 24.x, with errors:
Fragment info
-------------
0(857) : error c1106: overloaded function declaration "samplereflectionprobeslegacy" differs only in parameter qualifiers
2025-03-09T07:51:26Z WARNING # llrender/llglslshader.cpp(513) createShader : Failed to link shader: Water Shader
2025-03-09T07:51:26Z WARNING # llrender/llglslshader.cpp(518) createShader : Failed to link using shader level 3 trying again using shader level 2
Vertex info
-----------
0(107) : error C3002: call to undefined function "void calcAtmospherics(vec3);"
|
|
|
|
|
|
* Fix for water exclusion when shoreline fade is disabled.
|
|
#3650 Fixed transparent particles over water make the water look black under their transparent parts
|
|
#3663 On AMD, the world may be rendered in really strange colors.
|
|
#3647 Add texture VRAM use divisor.
|
|
|
|
2024.12-ForeverFPS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Incorporation of feedback for #3456
|
|
* #3455 Add support for water exclusion surfaces
|
|
* #3507 Add distance haze to water to get us closer to 6.6.17's appearance.
|
|
|
|
* A lot of tweaking for water.
* Get water much closer to 6.6.17.
This won't produce 1:1 results, but it should be much closer to where we once were.
|
|
2024.12-ForeverFPS
|
|
|
|
our passed in ambient lighting is the only thing that gets applied. (#3327)
|
|
2024.09-ExtraFPS
|
|
|
|
|
|
2024.09-ExtraFPS
|
|
|
|
2024.09-ExtraFPS
|