From 9723bd8be2b710fa089f3404056c01f4dc55e6ac Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Mon, 22 Apr 2019 10:54:52 -0700 Subject: SL-10856 Restore light sum loops to fix broken ambient. --- .../shaders/class3/lighting/lightV.glsl | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 indra/newview/app_settings/shaders/class3/lighting/lightV.glsl (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl new file mode 100644 index 0000000000..b19f4e96ca --- /dev/null +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -0,0 +1,37 @@ +/** + * @file class3\lighting\lightV.glsl + * + * $LicenseInfo:firstyear=2007&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2007, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + + + +// All lights, no specular highlights + +vec4 sumLights(vec3 pos, vec3 norm, vec4 color, vec4 baseLight); +vec3 atmosAmbient(vec3 c); +vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseLight) +{ + vec4 l = sumLights(pos, norm, color, baseLight); + return l; +} + -- cgit v1.2.3 From 4ed05fc84fce0fbee76c583e91feed5aff2dbbfc Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Thu, 25 Apr 2019 10:59:00 -0700 Subject: Fix dark ALM and strangeness at Mid lighting (class 3 but with a darkness about it). Make a distinct class3/lighting/lightV which boosts to WL levels (* 2.0) and make lighting without WL atmo enabled use class 2 or below. Make forward shaders (alpha and materialF with alpha-blend mode on) more consistent with deferred lighting. --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index b19f4e96ca..efe7f69f21 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -28,10 +28,9 @@ // All lights, no specular highlights vec4 sumLights(vec3 pos, vec3 norm, vec4 color, vec4 baseLight); -vec3 atmosAmbient(vec3 c); + vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseLight) { - vec4 l = sumLights(pos, norm, color, baseLight); - return l; + return sumLights(pos, norm, color, baseLight) * 2.0f; } -- cgit v1.2.3 From f133be068a4aa23c02c47348f5c7d4a28e1d5c37 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Fri, 26 Apr 2019 16:02:21 -0700 Subject: Lighting WIP Consistency across class2/3/ALM lighting. --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index efe7f69f21..372992fab2 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -26,11 +26,13 @@ // All lights, no specular highlights +vec3 atmosAmbient(); +vec4 sumLights(vec3 pos, vec3 norm, vec4 color); -vec4 sumLights(vec3 pos, vec3 norm, vec4 color, vec4 baseLight); - -vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseLight) +vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) { - return sumLights(pos, norm, color, baseLight) * 2.0f; + vec4 c = sumLights(pos, norm, color * 2.0); + c.rgb += atmosAmbient() * color.rgb * 0.5; + return c; } -- cgit v1.2.3 From 0f83696585b8810c24d535432716215caf0c21e9 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Mon, 29 Apr 2019 11:11:05 -0700 Subject: SL-10956, SL-10969 Don't ignore far z in culling. Fix Mid lighting being very dark. Partial fix for broken projectors with forward rendering. --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index 372992fab2..1ac0ad8948 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -31,8 +31,8 @@ vec4 sumLights(vec3 pos, vec3 norm, vec4 color); vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) { - vec4 c = sumLights(pos, norm, color * 2.0); - c.rgb += atmosAmbient() * color.rgb * 0.5; - return c; + vec4 c = sumLights(pos, norm, color); + c.rgb += atmosAmbient() * color.rgb; + return c * 2.0; } -- cgit v1.2.3 From bfce96d684d5d056061ce16a36daba9a2bd0aa9d Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Tue, 30 Apr 2019 10:04:20 -0700 Subject: SL-10856 Remove ambient clamp to keep shadows dark. Partial fix for class 3 ambient term being wrong. --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index 1ac0ad8948..f5428077fa 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -31,8 +31,8 @@ vec4 sumLights(vec3 pos, vec3 norm, vec4 color); vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) { - vec4 c = sumLights(pos, norm, color); - c.rgb += atmosAmbient() * color.rgb; - return c * 2.0; + vec4 c = sumLights(pos, norm, color) * 2.0; + c.rgb += atmosAmbient() * color.rgb * 0.5; + return c; } -- cgit v1.2.3 From c4032528aff8ef1938e897ec583bbf25a3e713e1 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Thu, 2 May 2019 13:49:35 -0700 Subject: Roll back sRGB decode changes from contrib for now. Fix direct light matching across alpha/blended-material/deferred. Get diffuse lighting to match from Low to Ultra. --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index f5428077fa..69267621a3 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -31,8 +31,8 @@ vec4 sumLights(vec3 pos, vec3 norm, vec4 color); vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) { - vec4 c = sumLights(pos, norm, color) * 2.0; - c.rgb += atmosAmbient() * color.rgb * 0.5; - return c; + vec4 c = sumLights(pos, norm, color * 2.0); + c.rgb += atmosAmbient() * color.rgb; + return c * 2.0; } -- cgit v1.2.3 From a1e8042c1f2f1ab0ed5b6040535348974e659556 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Tue, 7 May 2019 15:36:43 -0700 Subject: SL-11055, SL-10966, SL-11087 Make haze look more like WL. Make lack of sun and moon mean black and fixed dir to prevent spooky underlighting. --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index 69267621a3..48c883d98a 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -31,8 +31,8 @@ vec4 sumLights(vec3 pos, vec3 norm, vec4 color); vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) { - vec4 c = sumLights(pos, norm, color * 2.0); + vec4 c = sumLights(pos, norm, color); c.rgb += atmosAmbient() * color.rgb; - return c * 2.0; + return c; } -- cgit v1.2.3 From b143aa96fcd6d16558464c98bcfd9984f7d29750 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Mon, 13 May 2019 15:33:48 -0700 Subject: SL-10856 Modify calc of sunlight to avoid clipping in gamma correct on values outside 0-1 range. Modify shaders to put back ambient clamp tuned to be close to ambient contrib in low/mid lighting. --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index 48c883d98a..2f64ab25cb 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -32,7 +32,7 @@ vec4 sumLights(vec3 pos, vec3 norm, vec4 color); vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) { vec4 c = sumLights(pos, norm, color); - c.rgb += atmosAmbient() * color.rgb; + c.rgb += atmosAmbient() * color.rgb * 0.25; return c; } -- cgit v1.2.3 From b3c0218a31b9d7dd699cf3944bbcfc35e9adbd49 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Thu, 16 May 2019 14:14:02 -0700 Subject: Revert lighting changes for 10856 causing knock-on. --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index 2f64ab25cb..48c883d98a 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -32,7 +32,7 @@ vec4 sumLights(vec3 pos, vec3 norm, vec4 color); vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) { vec4 c = sumLights(pos, norm, color); - c.rgb += atmosAmbient() * color.rgb * 0.25; + c.rgb += atmosAmbient() * color.rgb; return c; } -- cgit v1.2.3 From e9dbee00262a437e4b3f971b37ea636e92032133 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Tue, 21 May 2019 16:00:45 -0700 Subject: SL-11238 Fix ambient light inputs to the renderer. Fix 3rd sky shader w/ mistaken density mod conversion. Make ambient clamp apply to all modes. Tune ALM ambient clamp to match non-ALM. --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index 48c883d98a..effe4c5971 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -28,11 +28,12 @@ // All lights, no specular highlights vec3 atmosAmbient(); vec4 sumLights(vec3 pos, vec3 norm, vec4 color); +float getAmbientClamp(); vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) { vec4 c = sumLights(pos, norm, color); - c.rgb += atmosAmbient() * color.rgb; + c.rgb += atmosAmbient() * color.rgb * getAmbientClamp(); return c; } -- cgit v1.2.3 From d0a0eede63fdbd4ba597b86cbfbeb5b394ed2395 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Thu, 23 May 2019 09:58:33 -0700 Subject: Add render debug controls for forcing disable of ambient, sun, and local light contributions (engages AMBIENT_KILL, SUNLIGHT_KILL, and LOCAL_LIGHT_KILL defines in shaders to accomplish those tasks as required by each render mode). --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index effe4c5971..eca8515212 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -33,7 +33,11 @@ float getAmbientClamp(); vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) { vec4 c = sumLights(pos, norm, color); + +#if !defined(AMBIENT_KILL) c.rgb += atmosAmbient() * color.rgb * getAmbientClamp(); +#endif + return c; } -- cgit v1.2.3 From 2f2cf6d855e1e5977ef0ed3583238636e890220a Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Wed, 29 May 2019 15:57:24 -0700 Subject: SL-10969 Modify ambient handling and forward projector lighting again to stamp out alpha fires. --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index eca8515212..6918ac3b8c 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -35,7 +35,7 @@ vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) vec4 c = sumLights(pos, norm, color); #if !defined(AMBIENT_KILL) - c.rgb += atmosAmbient() * color.rgb * getAmbientClamp(); + c.rgb += atmosAmbient() * color.rgb * 0.5 * getAmbientClamp(); #endif return c; -- cgit v1.2.3 From 49eae58bd0d1eceda18a3997454beb15a5e27cbd Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Thu, 6 Jun 2019 16:32:55 -0700 Subject: SL-10969 More tweaking ambient light. --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index 6918ac3b8c..cba87a1db7 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -35,9 +35,9 @@ vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) vec4 c = sumLights(pos, norm, color); #if !defined(AMBIENT_KILL) - c.rgb += atmosAmbient() * color.rgb * 0.5 * getAmbientClamp(); + c.rgb += atmosAmbient() * color.rgb * 2.0 * getAmbientClamp(); #endif - - return c; + + return c; } -- cgit v1.2.3 From b79d0d2fdd047636598cbc9b088c3d4a10a84460 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Mon, 10 Jun 2019 09:15:35 -0700 Subject: SL-10969, SL-11051 Make fullbright alpha mask with mask cutoff == 0 not generate shadows. Adjust handling of ambient across forward and deferred again. --- indra/newview/app_settings/shaders/class3/lighting/lightV.glsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/app_settings/shaders/class3/lighting/lightV.glsl') diff --git a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl index cba87a1db7..30ad493331 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/lightV.glsl @@ -35,7 +35,7 @@ vec4 calcLighting(vec3 pos, vec3 norm, vec4 color) vec4 c = sumLights(pos, norm, color); #if !defined(AMBIENT_KILL) - c.rgb += atmosAmbient() * color.rgb * 2.0 * getAmbientClamp(); + c.rgb += atmosAmbient() * color.rgb * getAmbientClamp(); #endif return c; -- cgit v1.2.3