diff options
| author | Erik Kundiman <erik@megapahit.org> | 2026-09-01 18:35:23 +0800 |
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2026-09-04 21:58:53 +0800 |
| commit | 00bb3bb6f07660bd914d29a1389342bb3060d254 (patch) | |
| tree | 431f574922494d2201718f13085f17bc6bd7fb42 /indra/newview/app_settings/shaders/class3 | |
| parent | a8636720129952c10cf49ab80da21bf8b340b96c (diff) | |
| parent | 4ef9f8f14b35ed388c294d53767a0dca0e890924 (diff) | |
Merge remote-tracking branch 'secondlife/release/26.4' into 26.4
Diffstat (limited to 'indra/newview/app_settings/shaders/class3')
5 files changed, 21 insertions, 25 deletions
diff --git a/indra/newview/app_settings/shaders/class3/deferred/fullbrightShinyF.glsl b/indra/newview/app_settings/shaders/class3/deferred/fullbrightShinyF.glsl index 5e38864d38..0bb1b90dce 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/fullbrightShinyF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/fullbrightShinyF.glsl @@ -78,9 +78,9 @@ void main() float env_intensity = vertex_color.a; - vec3 ambenv; - vec3 glossenv; - vec3 legacyenv; + vec3 ambenv = vec3(1.0); + vec3 glossenv = vec3(0.0); + vec3 legacyenv = vec3(0.0); vec3 norm = normalize(vary_texcoord1.xyz); vec4 spec = vec4(0,0,0,0); sampleReflectionProbesLegacy(ambenv, glossenv, legacyenv, vec2(0), pos.xyz, norm.xyz, spec.a, env_intensity, false, amblit); diff --git a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl index 9b6b2e5b33..ad7c5b7235 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl @@ -261,7 +261,7 @@ void alphaMask(float alpha) #endif } -void waterClip() +void applyWaterClip() { #if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_BLEND) waterClip(vary_position.xyz); @@ -283,17 +283,17 @@ float getShadow(vec3 pos, vec3 norm) #if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_BLEND) return sampleDirectionalShadow(pos, norm, vary_texcoord0.xy); #else - return 1.; + return 1.0; #endif #else - return 1.; + return 1.0; #endif } void main() { mirrorClip(vary_position); - waterClip(); + applyWaterClip(); // diffcol == diffuse map combined with vertex color vec4 diffcol = texture(diffuseMap, vary_texcoord0.xy); @@ -336,8 +336,8 @@ void main() vec3 amblit_linear = amblit; vec3 ambenv = amblit; - vec3 glossenv; - vec3 legacyenv; + vec3 glossenv = vec3(0.0); + vec3 legacyenv = vec3(0.0); sampleReflectionProbesLegacy(ambenv, glossenv, legacyenv, pos.xy*0.5+0.5, pos.xyz, norm.xyz, glossiness, env, true, amblit_linear); color = ambenv; @@ -440,5 +440,3 @@ void main() #endif } - - diff --git a/indra/newview/app_settings/shaders/class3/deferred/screenSpaceReflUtil.glsl b/indra/newview/app_settings/shaders/class3/deferred/screenSpaceReflUtil.glsl index e8901c7ba2..c9a19f4278 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/screenSpaceReflUtil.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/screenSpaceReflUtil.glsl @@ -323,7 +323,7 @@ float tapScreenSpaceReflection(int totalSamples, vec2 tc, vec3 viewPos, vec3 n, { #ifdef TRANSPARENT_SURFACE collectedColor = vec4(1, 0, 1, 1); - return 0; + return 0.0; #endif collectedColor = vec4(0); int hits = 0; diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl index 2b42d757cb..1ecdaf24b5 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl @@ -179,8 +179,8 @@ void main() adjustIrradiance(irradiance, ambocc); - vec3 diffuseColor; - vec3 specularColor; + vec3 diffuseColor = vec3(0.0); + vec3 specularColor = vec3(0.0); calcDiffuseSpecular(baseColor.rgb, metallic, diffuseColor, specularColor); vec3 v = -normalize(pos.xyz); diff --git a/indra/newview/app_settings/shaders/class3/environment/waterF.glsl b/indra/newview/app_settings/shaders/class3/environment/waterF.glsl index c2167dfcba..52b3727da9 100644 --- a/indra/newview/app_settings/shaders/class3/environment/waterF.glsl +++ b/indra/newview/app_settings/shaders/class3/environment/waterF.glsl @@ -120,9 +120,7 @@ vec3 linear_to_srgb(vec3 col); vec3 atmosLighting(vec3 light); vec3 toneMapNoExposure(vec3 color); -vec3 vN, vT, vB; - -vec3 transform_normal(vec3 vNt) +vec3 transform_normal(vec3 vN, vec3 vT, vec3 vB, vec3 vNt) { return normalize(vNt.x * vT + vNt.y * vB + vNt.z * vN); } @@ -184,9 +182,9 @@ void main() { mirrorClip(vary_position); - vN = vary_normal; - vT = vary_tangent; - vB = cross(vN, vT); + vec3 vN = vary_normal; + vec3 vT = vary_tangent; + vec3 vB = cross(vN, vT); vec3 pos = vary_position.xyz; float linear_depth = 1.0 / -pos.z; @@ -222,14 +220,14 @@ void main() vec3 waver = wavef*3.0; - vec3 up = transform_normal(vec3(0,0,1)); + vec3 up = transform_normal(vN, vT, vB, vec3(0,0,1)); float vdu = -dot(viewVec, up)*2.0; vec3 wave_ibl = wavef * normScale; wave_ibl.z *= 2.0; - wave_ibl = transform_normal(normalize(wave_ibl)); + wave_ibl = transform_normal(vN, vT, vB, normalize(wave_ibl)); - vec3 norm = transform_normal(normalize(wavef)); + vec3 norm = transform_normal(vN, vT, vB, normalize(wavef)); vdu = clamp(vdu, 0.0, 1.0); //wavef.z *= max(vdu*vdu*vdu, 0.1); @@ -237,7 +235,7 @@ void main() wavef = normalize(wavef); //wavef = vec3(0, 0, 1); - wavef = transform_normal(wavef); + wavef = transform_normal(vN, vT, vB, wavef); float dist2 = dist; dist = max(dist, 5.0); @@ -312,7 +310,7 @@ void main() vec3 colorEmissive = vec3(0); float ao = 1.0; - vec3 light_dir = transform_normal(lightDir); + vec3 light_dir = transform_normal(vN, vT, vB, lightDir); float NdotV = clamp(abs(dot(norm, v)), 0.001, 1.0); |
