summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/app_settings/shaders/class1')
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/materialF.glsl22
1 files changed, 14 insertions, 8 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
index a7dce5c7a5..e640c2d7ae 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
@@ -276,20 +276,26 @@ void main()
final_color.a = max(final_color.a, emissive_brightness);
- // SL-11406 Fullbright: Object > Texture > Shininess > Environment Intensity
+ // SL-11406 Fullbright: Object > Texture > Shininess > Environment Intensity = 1
+ // NOTE: There are two shaders that are used depending on the EI byte value:
+ // EI = 0 fullbright
+ // EI > 0 .. 255 material
+ // When it is passed to us it is normalized.
// We can either modify the output environment intensity
// OR
- // adjust the final color via
+ // adjust the final color via:
// final_color *= 0.666666;
- // We remap the environment intensity to simulate what non-EEP is doing.
+ // We remap the environment intensity to closely simulate what non-EEP is doing.
+ // At midnight the brightness is exact.
+ // At midday the brightness is very close.
float ei = env_intensity*0.5 + 0.5;
vec4 final_normal = vec4(abnormal, ei, 0.0);
vec4 final_specular = spec;
final_specular.a = specular_color.a;
-#if HAS_SPECULAR_MAP
- final_specular.a *= norm.a;
+#ifdef HAS_SPECULAR_MAP
+ final_specular.a *= norm.a;
final_normal.z *= spec.a;
#endif
@@ -323,11 +329,10 @@ void main()
float da = dot(norm.xyz, normalize(light_dir.xyz));
- // Dot product is guaranteed to be in -1 < dot() < +1 range for normalized vectors
+ // Dot product is guaranteed to be in -1 <= da <= +1 range for normalized vectors
// da = clamp(da, -1.0, 1.0);
- float final_da = da;
- final_da = clamp(final_da, 0.0, 1.0);
+ float final_da = clamp(da, 0.0, 1.0);
float ambient = da;
ambient *= 0.5;
@@ -465,3 +470,4 @@ vec3 post_atmo = color.rgb;
#endif
}
+