diff options
| author | Jonathan "Geenz" Goodman <geenz@lindenlab.com> | 2025-01-02 14:42:49 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-02 14:42:49 -0500 | 
| commit | cba1807a9164442880dbcbd48e1faff7a82153c7 (patch) | |
| tree | 8b11f99e41eb0fccf41a0a1a80886dcdce6a34f6 | |
| parent | a27515748fd1fd14a12ffc7f12b415decf6099de (diff) | |
#3326 Skip ambient probe sampling when we're in classic mode.  Ensure that our passed in ambient lighting is the only thing that gets applied. (#3327)
| -rw-r--r-- | indra/newview/app_settings/shaders/class3/deferred/reflectionProbeF.glsl | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/indra/newview/app_settings/shaders/class3/deferred/reflectionProbeF.glsl b/indra/newview/app_settings/shaders/class3/deferred/reflectionProbeF.glsl index 5dfa196cf6..a975b1f121 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/reflectionProbeF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/reflectionProbeF.glsl @@ -38,6 +38,8 @@ uniform float max_probe_lod;  uniform bool transparent_surface; +uniform int classic_mode; +  #define MAX_REFMAP_COUNT 256  // must match LL_MAX_REFLECTION_PROBE_COUNT  layout (std140) uniform ReflectionProbes @@ -739,7 +741,10 @@ void doProbeSample(inout vec3 ambenv, inout vec3 glossenv,      vec3 refnormpersp = reflect(pos.xyz, norm.xyz); -    ambenv = sampleProbeAmbient(pos, norm, amblit); +    ambenv = amblit; + +    if (classic_mode == 0) +        ambenv = sampleProbeAmbient(pos, norm, amblit);      float lod = (1.0-glossiness)*reflection_lods;      glossenv = sampleProbes(pos, normalize(refnormpersp), lod); @@ -845,7 +850,10 @@ void sampleReflectionProbesLegacy(inout vec3 ambenv, inout vec3 glossenv, inout      vec3 refnormpersp = reflect(pos.xyz, norm.xyz); -    ambenv = sampleProbeAmbient(pos, norm, amblit); +    ambenv = amblit; + +    if (classic_mode == 0) +        ambenv = sampleProbeAmbient(pos, norm, amblit);      if (glossiness > 0.0)      { | 
