diff options
author | Graham Linden <graham@lindenlab.com> | 2019-01-24 10:58:03 -0800 |
---|---|---|
committer | Graham Linden <graham@lindenlab.com> | 2019-01-24 10:58:03 -0800 |
commit | ec8140016b991d2729b51dd1746a29fafaea5b61 (patch) | |
tree | 2f8e590ddf6ef4b76cef74185af58eb1fa818917 /indra | |
parent | 211ad31dc236f868686339a9da19226b18724f20 (diff) |
SL-10282
Use clamping on dot product to determine halo TCs to fix abrupt cutoff at dot == 0.
Ifdef around engaging advanced atmo which is not ready for primetime yet.
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/app_settings/shaders/class2/deferred/skyF.glsl | 4 | ||||
-rw-r--r-- | indra/newview/llviewershadermgr.cpp | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/indra/newview/app_settings/shaders/class2/deferred/skyF.glsl b/indra/newview/app_settings/shaders/class2/deferred/skyF.glsl index 3232f81cd9..520bfbeadc 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/skyF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/skyF.glsl @@ -70,6 +70,7 @@ uniform float ice_level; vec3 rainbow(float d) { + d = clamp(d, -1, 0); float rad = (droplet_radius - 5.0f) / 1024.0f; return pow(texture2D(rainbow_map, vec2(rad, d)).rgb, vec3(1.8)) * moisture_level; } @@ -182,8 +183,7 @@ void main() vec3 halo_22 = halo22(optic_d); - if (optic_d <= 0) - color.rgb += rainbow(optic_d); + color.rgb += rainbow(optic_d); color.rgb += halo_22; diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp index 1686aeea4f..2293007641 100644 --- a/indra/newview/llviewershadermgr.cpp +++ b/indra/newview/llviewershadermgr.cpp @@ -490,7 +490,7 @@ void LLViewerShaderMgr::setShaders() S32 shadow_detail = gSavedSettings.getS32("RenderShadowDetail"); bool useRenderDeferred = canRenderDeferred && gSavedSettings.getBOOL("RenderDeferred") && gSavedSettings.getBOOL("RenderAvatarVP"); bool doingWindLight = hasWindLightShaders && gSavedSettings.getBOOL("WindLightUseAtmosShaders"); - bool useAdvancedAtmospherics = doingWindLight && gSavedSettings.getBOOL("RenderUseAdvancedAtmospherics"); + //using shaders, disable fixed function LLGLSLShader::sNoFixedFunction = true; @@ -510,11 +510,14 @@ void LLViewerShaderMgr::setShaders() transform_class = 0; } + #if USE_ADVANCED_ATMOSPHERICS + bool useAdvancedAtmospherics = doingWindLight && gSavedSettings.getBOOL("RenderUseAdvancedAtmospherics"); if (useAdvancedAtmospherics) { deferred_class = 3; wl_class = 3; } + #endif if (useRenderDeferred && doingWindLight) { |