From 6dbc72df774a99cd80c4a690e7d03017d39005e9 Mon Sep 17 00:00:00 2001 From: Dave Houlton Date: Tue, 17 Mar 2020 13:46:52 -0600 Subject: SL-10449 remove soft gamma adjustment that breaks Mac GLSL compiler --- indra/newview/app_settings/shaders/class1/deferred/materialF.glsl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'indra/newview/app_settings/shaders/class1/deferred') diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl index a8a5cc22db..f1b13c8825 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl @@ -336,7 +336,10 @@ void main() if (emissive_brightness >= 1.0) // fullbright, skip lighting calculations { color = fullbrightAtmosTransportFrag(diffuse_srgb.rgb, additive, atten); - color = fullbrightScaleSoftClip(color); + // This call breaks the Mac GLSL compiler/linker for unknown reasons (17Mar2020) + // The call is either a no-op or a pure (pow) gamma adjustment, depending on GPU level + // TODO: determine if we want to re-apply the gamma adjustment, and if so understand & fix Mac breakage + //color = fullbrightScaleSoftClip(color); al = diffuse_srgb.a; } -- cgit v1.2.3 From ff683a7127d299694a8fece5772f3656d9214edc Mon Sep 17 00:00:00 2001 From: Dave Houlton Date: Wed, 18 Mar 2020 16:30:20 -0600 Subject: SL-12865, add bias to alpha mask values to avoid 8-bit acne --- indra/newview/app_settings/shaders/class1/deferred/materialF.glsl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'indra/newview/app_settings/shaders/class1/deferred') diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl index f1b13c8825..4198053c99 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl @@ -230,7 +230,10 @@ void main() vec4 diffuse_linear = vec4(srgb_to_linear(diffuse_srgb.rgb), diffuse_srgb.a); #if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_MASK) - if (diffuse_linear.a < minimum_alpha) + + // Comparing floats cast from 8-bit values, produces acne right at the 8-bit transition points + float bias = 0.001953125; // 1/512, or half an 8-bit quantization + if (diffuse_linear.a < minimum_alpha-bias) { discard; } -- cgit v1.2.3 From bb99e50b2617a67fe65a92338363c76ec400f033 Mon Sep 17 00:00:00 2001 From: Ptolemy Date: Wed, 18 Mar 2020 23:21:32 -0700 Subject: SL-12574 Add note about duplicated procedurally generated sky texture --- indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl | 4 ++++ indra/newview/app_settings/shaders/class1/deferred/skyV.glsl | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'indra/newview/app_settings/shaders/class1/deferred') diff --git a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl index 8e90c1481f..bc51d25309 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl @@ -67,6 +67,10 @@ uniform vec4 cloud_color; uniform float cloud_scale; +// NOTE: Keep these in sync! +// indra\newview\app_settings\shaders\class1\deferred\skyV.glsl +// indra\newview\app_settings\shaders\class1\deferred\cloudsV.glsl +// indra\newview\lllegacyatmospherics.cpp void main() { diff --git a/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl b/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl index 2cd660ab79..ead754ec76 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl @@ -57,6 +57,10 @@ uniform float sun_moon_glow_factor; uniform vec4 cloud_color; +// NOTE: Keep these in sync! +// indra\newview\app_settings\shaders\class1\deferred\skyV.glsl +// indra\newview\app_settings\shaders\class1\deferred\cloudsV.glsl +// indra\newview\lllegacyatmospherics.cpp void main() { -- cgit v1.2.3 From 4bffb6e79372c1aef5d0124943c5ae0edc790bf0 Mon Sep 17 00:00:00 2001 From: Ptolemy Date: Thu, 19 Mar 2020 00:57:18 -0700 Subject: SL-11589 Fix clouds drooping below horizon --- indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/app_settings/shaders/class1/deferred') diff --git a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl index 8e90c1481f..fb405d4f1a 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl @@ -87,6 +87,7 @@ void main() } else { + altitude_blend_factor = 0; // SL-11589 Fix clouds drooping below horizon P *= (-32000. / P.y); } -- cgit v1.2.3 From cbc3c51daf5b6f7ae483fac8522095dea31d582d Mon Sep 17 00:00:00 2001 From: Ptolemy Date: Thu, 19 Mar 2020 01:09:12 -0700 Subject: SL-11589 Remove redundant setting vary_texcoord0, cleanup grouping --- .../shaders/class1/deferred/cloudsV.glsl | 24 ++++++++++------------ 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'indra/newview/app_settings/shaders/class1/deferred') diff --git a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl index fb405d4f1a..1ade2c0876 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl @@ -73,7 +73,18 @@ void main() // World / view / projection gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); + // Texture coords vary_texcoord0 = texcoord0; + vary_texcoord0.xy -= 0.5; + vary_texcoord0.xy /= cloud_scale; + vary_texcoord0.xy += 0.5; + + vary_texcoord1 = vary_texcoord0; + vary_texcoord1.x += lightnorm.x * 0.0125; + vary_texcoord1.y += lightnorm.z * 0.0125; + + vary_texcoord2 = vary_texcoord0 * 16.; + vary_texcoord3 = vary_texcoord1 * 16.; // Get relative position vec3 P = position.xyz - camPosLocal.xyz + vec3(0,50,0); @@ -176,19 +187,6 @@ void main() vary_CloudDensity = 2. * (cloud_shadow - 0.25); - // Texture coords - vary_texcoord0 = texcoord0; - vary_texcoord0.xy -= 0.5; - vary_texcoord0.xy /= cloud_scale; - vary_texcoord0.xy += 0.5; - - vary_texcoord1 = vary_texcoord0; - vary_texcoord1.x += lightnorm.x * 0.0125; - vary_texcoord1.y += lightnorm.z * 0.0125; - - vary_texcoord2 = vary_texcoord0 * 16.; - vary_texcoord3 = vary_texcoord1 * 16.; - // Combine these to minimize register use vary_CloudColorAmbient += oHazeColorBelowCloud; -- cgit v1.2.3