diff options
author | Graham Linden <graham@lindenlab.com> | 2019-05-06 16:29:06 -0700 |
---|---|---|
committer | Graham Linden <graham@lindenlab.com> | 2019-05-06 16:29:06 -0700 |
commit | c61f73321dbef9f0f5741830bfbaa8facd6ec060 (patch) | |
tree | 9f07c674db061b81ca24a05470defb4a04fb5bec /indra | |
parent | ac080210a8cd2f64c040f980708ccce2c5464874 (diff) |
SL-11102, SL-11103
Fix diffuse boost in deferred lighting to match non-deferred.
Make class2 soften not clamp shadow color to incoming alpha (make shadows appear on terrain underwater).
Diffstat (limited to 'indra')
5 files changed, 8 insertions, 18 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl index 2112fa8251..dbd7abd7e5 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/alphaF.glsl @@ -240,8 +240,6 @@ vec3 post_sunlight = color.rgb; vec3 post_diffuse = color.rgb; - //color.rgb = mix(diffuse_linear.rgb, color.rgb, final_alpha); - color.rgb = atmosFragLighting(color.rgb, additive, atten); color.rgb = scaleSoftClipFrag(color.rgb); diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl index ba1f121bfd..7533762a96 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl @@ -367,8 +367,6 @@ vec3 post_diffuse = color.rgb; vec3 post_spec = color.rgb; - //color = mix(color.rgb, diffuse_srgb.rgb, diffuse_srgb.a); - if (envIntensity > 0.0) { //add environmentmap diff --git a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl index 981a50769a..fb9f6d7f37 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/softenLightF.glsl @@ -153,8 +153,6 @@ vec3 post_diffuse = color.rgb; vec3 post_spec = color.rgb; - color.rgb += diffuse_srgb.a * diffuse_srgb.rgb; - if (envIntensity > 0.0) { //add environmentmap vec3 env_vec = env_mat * refnormpersp; diff --git a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl index f6f8f56103..73b4473be5 100644 --- a/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class2/deferred/softenLightF.glsl @@ -95,7 +95,10 @@ void main() vec4 diffuse_srgb = texture2DRect(diffuseRect, tc); vec4 diffuse_linear = vec4(srgb_to_linear(diffuse_srgb.rgb), diffuse_srgb.a); - scol = max(scol_ambocc.r, diffuse_linear.a); + + // clamping to alpha value kills underwater shadows... + //scol = max(scol_ambocc.r, diffuse_linear.a); + scol = scol_ambocc.r; vec4 spec = texture2DRect(specularRect, vary_fragcoord.xy); vec3 color = vec3(0); @@ -160,8 +163,6 @@ vec3 post_diffuse = color.rgb; vec3 post_spec = color.rgb; - color.rgb += diffuse_srgb.a * diffuse_srgb.rgb; - if (envIntensity > 0.0) { //add environmentmap vec3 env_vec = env_mat * refnormpersp; diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 3277a6ed32..c57b267c92 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -2327,8 +2327,6 @@ bool LLPipeline::getVisibleExtents(LLCamera& camera, LLVector3& min, LLVector3& LLViewerCamera::eCameraID saved_camera_id = LLViewerCamera::sCurCameraID; LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD; - bool res = true; - for (LLWorld::region_list_t::const_iterator iter = LLWorld::getInstance()->getRegionList().begin(); iter != LLWorld::getInstance()->getRegionList().end(); ++iter) { @@ -2339,20 +2337,17 @@ bool LLPipeline::getVisibleExtents(LLCamera& camera, LLVector3& min, LLVector3& LLSpatialPartition* part = region->getSpatialPartition(i); if (part) { - if (hasRenderType(part->mDrawableType)) + if (hasRenderType(part->mDrawableType) && !part->getVisibleExtents(camera, min, max)) { - if (!part->getVisibleExtents(camera, min, max)) - { - res = false; - } + LLViewerCamera::sCurCameraID = saved_camera_id; + return false; } } } } LLViewerCamera::sCurCameraID = saved_camera_id; - - return res; + return true; } static LLTrace::BlockTimerStatHandle FTM_CULL("Object Culling"); |