Skip to content
Open
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
10ff898
Resolve the vast majority of SSR's problems in one go.
Geenz Jun 6, 2025
5aee7e6
Modularize and document.
Geenz Jun 6, 2025
6eb00fb
Make sure to sample as many probes as we can on water specifically wh…
Geenz Jun 6, 2025
9ff815b
Start getting multi-pass tracing setup.
Geenz Jun 7, 2025
3fb627a
Insert fifth element reference here
Geenz Jun 7, 2025
ab80b65
Just do a depth based exponential scale for the step sizing. Seems t…
Geenz Jun 7, 2025
9bdfe55
Get some sane defaults setup.
Geenz Jun 7, 2025
e0b167d
Many more tweaks + some additional depth fade stuff for super far off…
Geenz Jun 8, 2025
a0b1d4d
Update to the feature table to enable SSR on Ultra settings.
Geenz Jun 8, 2025
2a675e5
Add a few early outs to help reduce unnecessary traces.
Geenz Jun 8, 2025
1dc2a23
Use a GGX based blur instead.
Geenz Jun 8, 2025
82b9723
Tweak the max roughness to better avoid striations when you move the …
Geenz Jun 8, 2025
4393d34
Make the scale a bit better for high roughness values.
Geenz Jun 8, 2025
cfae6dc
Slight tweak to make SSR reflections more pronounced when replacing p…
Geenz Jun 8, 2025
6a289c6
Take care of trailing white spaces.
Geenz Jun 8, 2025
06e5ad8
More trailing white spaces.
Geenz Jun 8, 2025
c8d2c4c
More tuning to balance out some of the black striations in the distan…
Geenz Jun 8, 2025
129b6e4
Add support for adjustable max Z depth and roughness.
Geenz Jun 9, 2025
9b12d2d
White space.
Geenz Jun 9, 2025
50a1e54
Merge branch 'develop' into geenz/ssr-rennovation
Geenz Jun 13, 2025
c604e2f
Merge branch 'develop' into geenz/ssr-rennovation
Geenz Sep 18, 2025
b2f54dc
Merge branch 'develop' into geenz/ssr-rennovation
Geenz Sep 18, 2025
c1bca51
Compile fix for NVIDIA
Geenz Sep 19, 2025
a72d377
Merge branch 'develop' into geenz/ssr-rennovation
Geenz Nov 10, 2025
90e5fdf
Merge branch 'geenz/ssr-rennovation' into project/visual-polish
Geenz Feb 6, 2026
fd22050
Merge branch 'release/2026.01' into project/visual_polish
Geenz Feb 12, 2026
5bc7654
Add support for the witness' 4x4 PCF sampling.
Geenz Feb 20, 2026
b7f961e
Use a 4x4 bayer dither pattern for semi-transparent shadows.
Geenz Feb 20, 2026
674cb79
Preserve reflection probe alpha for the sky, and add new "Reflection …
Geenz Feb 20, 2026
9bfbe13
Update viewer_manifest.py
Geenz Feb 20, 2026
624ac23
SSR refactor (#5441)
Geenz Feb 22, 2026
a7cc740
Add texture streaming "channels" (#5442)
Geenz Feb 22, 2026
1024045
Update screenSpaceReflUtil.glsl
Geenz Feb 22, 2026
ea0e0c5
Merge branch 'develop' into project/visual_polish
Geenz Feb 24, 2026
83b5919
Another attempt at striation prevention.
Geenz Feb 26, 2026
e2e6e47
Update screenSpaceReflUtil.glsl
Geenz Feb 26, 2026
8b8b88e
Velocity Buffer Support (#5460)
Geenz Feb 26, 2026
9adb857
Motion blur interface -> Velocity
Geenz Feb 26, 2026
4a7ad30
Add EEP settings for SLVP (#5461)
Geenz Feb 26, 2026
7447438
Update llsettingssky.cpp
Geenz Feb 26, 2026
9654cbd
Introduce planar mirrors (#5478)
Geenz Mar 2, 2026
b18e63f
Use a system mirror probe for water. (#5479)
Geenz Mar 3, 2026
a054958
Introduce separable SSR and Hi-Z tracing. (#5493)
Geenz Mar 5, 2026
a87bf75
Merge branch 'release/2026.03' into project/visual_polish
Geenz Mar 5, 2026
4074a32
Fix for overly bright EEP V1 skies.
Geenz Mar 5, 2026
cac3806
Restore alpha object SSR. (#5494)
Geenz Mar 5, 2026
0fe0c7a
Add ambient sky saturation to EEP settings. (#5500)
Geenz Mar 5, 2026
1a31fdd
Fix for SSR on water.
Geenz Mar 6, 2026
14b74c9
Fix for non-symmetric reflections on water.
Geenz Mar 6, 2026
b1cc677
Move the glTF loader into llprimitive.
Geenz Mar 6, 2026
32f63db
Wire up LL::GLTF through the material import pipeline.
Geenz Mar 8, 2026
d505429
Merge branch 'develop' into geenz/pbr-specular
Geenz Mar 8, 2026
3718624
Update llgltfhelper.cpp
Geenz Mar 8, 2026
25b72ca
Setup PBR specular in the UI and data model.
Geenz Mar 9, 2026
1f85783
Add specular GLTF material support
Geenz Mar 12, 2026
27a0daa
Don't clamp water reflections to 1.
Geenz Mar 13, 2026
2abbec7
Merge branch 'project/visual_polish' into geenz/pbr-specular
Geenz Mar 13, 2026
e5a0428
Hide the PBR specular controls when PBRExtensionsV1 is not available.
Geenz Mar 13, 2026
8c1c581
Merge pull request #5536 from secondlife/geenz/pbr-specular
Geenz Mar 13, 2026
6a8ae13
Enable SSR on med-high.
Geenz Mar 13, 2026
907bec1
Merge branch 'project/visual_polish' of https://github.com/secondlife…
Geenz Mar 13, 2026
a55949c
Potential fix for volumetric mirror probes rendering incorrectly.
Geenz Mar 13, 2026
4d642b4
Update llgltfmaterial.cpp
Geenz Mar 13, 2026
0567fa1
Update CMakeLists.txt
Geenz Mar 13, 2026
e60c671
Update the windows test for the size check of LLGLTFMaterial.
Geenz Mar 13, 2026
e4db72d
Add a C-style F32 cast for the emissive strength param.
Geenz Mar 14, 2026
a005131
Update llmaterialeditor.cpp
Geenz Mar 14, 2026
203d628
Fix for PBR surfaces skipping shadows.
Geenz Apr 4, 2026
de769c3
Merge branch 'develop' into project/visual_polish
Geenz Apr 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions indra/llrender/llshadermgr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1386,6 +1386,10 @@ void LLShaderMgr::initAttribsAndUniforms()
mReservedUniforms.push_back("glossySampleCount");
mReservedUniforms.push_back("noiseSine");
mReservedUniforms.push_back("adaptiveStepMultiplier");
mReservedUniforms.push_back("splitParamsStart");
mReservedUniforms.push_back("splitParamsEnd");
mReservedUniforms.push_back("maxZDepth");
mReservedUniforms.push_back("maxRoughness");

mReservedUniforms.push_back("modelview_delta");
mReservedUniforms.push_back("inv_modelview_delta");
Expand Down
4 changes: 4 additions & 0 deletions indra/llrender/llshadermgr.h
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,10 @@ class LLShaderMgr
DEFERRED_SSR_GLOSSY_SAMPLES, // "glossySampleCount"
DEFERRED_SSR_NOISE_SINE, // "noiseSine"
DEFERRED_SSR_ADAPTIVE_STEP_MULT, // "adaptiveStepMultiplier"
DEFERRED_SSR_SPLIT_START, // "splitParamsStart"
DEFERRED_SSR_SPLIT_END, // "splitParamsEnd"
DEFERRED_SSR_MAX_Z, // "maxZDepth"
DEFERRED_SSR_MAX_ROUGHNESS, // "maxRoughness"

MODELVIEW_DELTA_MATRIX, // "modelview_delta"
INVERSE_MODELVIEW_DELTA_MATRIX, // "inv_modelview_delta"
Expand Down
94 changes: 83 additions & 11 deletions indra/newview/app_settings/settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7691,9 +7691,13 @@
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<string>Vector3</string>
<key>Value</key>
<integer>25</integer>
<array>
<real>30</real>
<real>16</real>
<real>16</real>
</array>
</map>
<key>RenderScreenSpaceReflectionRayStep</key>
<map>
Expand All @@ -7702,9 +7706,13 @@
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<string>Vector3</string>
<key>Value</key>
<real>0.1</real>
<array>
<real>0.035</real>
<real>0.75</real>
<real>1</real>
</array>
</map>
<key>RenderScreenSpaceReflectionDistanceBias</key>
<map>
Expand All @@ -7713,9 +7721,13 @@
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<string>Vector3</string>
<key>Value</key>
<real>0.015</real>
<array>
<real>0.01</real>
<real>0.4</real>
<real>10</real>
</array>
</map>
<key>RenderScreenSpaceReflectionDepthRejectBias</key>
<map>
Expand All @@ -7724,9 +7736,13 @@
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<string>Vector3</string>
<key>Value</key>
<real>0.001</real>
<array>
<real>0.001</real>
<real>0.001</real>
<real>0.001</real>
</array>
</map>
<key>RenderScreenSpaceReflectionAdaptiveStepMultiplier</key>
<map>
Expand All @@ -7735,9 +7751,43 @@
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<string>Vector3</string>
<key>Value</key>
<array>
<real>1.197</real>
<real>1.5</real>
<real>2</real>
</array>
</map>
<key>RenderScreenSpaceReflectionSplitStart</key>
<map>
<key>Comment</key>
<string>Starting splits for each SSR pass.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Vector3</string>
<key>Value</key>
<real>1.6</real>
<array>
<real>0</real>
<real>5</real>
<real>50</real>
</array>
</map>
<key>RenderScreenSpaceReflectionSplitEnd</key>
<map>
<key>Comment</key>
<string>Ending splits for each SSR pass.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Vector3</string>
<key>Value</key>
<array>
<real>25</real>
<real>150</real>
<real>1000</real>
</array>
</map>
<key>RenderScreenSpaceReflectionGlossySamples</key>
<map>
Expand All @@ -7748,7 +7798,29 @@
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>4</integer>
<integer>2</integer>
</map>
<key>RenderScreenSpaceReflectionMaxDepth</key>
<map>
<key>Comment</key>
<string>Maximum depth from the camera to attempt a trace.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>256</real>
</map>
<key>RenderScreenSpaceReflectionMaxRoughness</key>
<map>
<key>Comment</key>
<string>Maximum permitted roughness for screen space reflections.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>0.45</real>
</map>
<key>RenderBumpmapMinDistanceSquared</key>
<map>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -750,7 +750,7 @@ void doProbeSample(inout vec3 ambenv, inout vec3 glossenv,
glossenv = sampleProbes(pos, normalize(refnormpersp), lod);

#if defined(SSR)
if (cube_snapshot != 1 && glossiness >= 0.9)
if (cube_snapshot != 1)
{
vec4 ssr = vec4(0);
if (transparent)
Expand Down
Loading
Loading