summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2019-02-26 14:51:02 -0800
committerGraham Linden <graham@lindenlab.com>2019-02-26 14:51:02 -0800
commit6f820163ce3a42eb90edba6f3907952e7d83517c (patch)
tree5a44dcbc27ade1b67f872649c6c4d594b8d50d03 /indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
parent982b8cdef280469d6c04ce9886a8cadaf6d8350c (diff)
SL-10566 part the first
Tie using deferred rendering in water reflection/distortion map generation to debug var again (claw back some performance lost to doing post-deferred in water map generation). Edit softenLightF for class1/class2 to make them comparable again.
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred/materialF.glsl')
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/materialF.glsl16
1 files changed, 15 insertions, 1 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
index 586926dc01..a18eb7b075 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
@@ -41,7 +41,14 @@ vec4 applyWaterFogView(vec3 pos, vec4 color);
vec3 atmosFragLighting(vec3 l, vec3 additive, vec3 atten);
vec3 scaleSoftClipFrag(vec3 l);
+#if defined(VERT_ATMOSPHERICS)
+vec3 getSunlitColor();
+vec3 getAmblitColor();
+vec3 getAdditiveColor();
+vec3 getAtmosAttenuation();
+#else
void calcFragAtmospherics(vec3 inPositionEye, float ambFactor, out vec3 sunlit, out vec3 amblit, out vec3 additive, out vec3 atten);
+#endif
vec3 srgb_to_linear(vec3 cs);
vec3 linear_to_srgb(vec3 cs);
@@ -278,8 +285,15 @@ void main()
vec3 additive;
vec3 atten;
+#if VERT_ATMOSPHERICS
+ sunlit = getSunlitColor();
+ amblit = getAmblitColor();
+ additive = getAdditiveColor();
+ atten = getAtmosAttenuation();
+#else
calcFragAtmospherics(pos.xyz, 1.0, sunlit, amblit, additive, atten);
-
+#endif
+
vec3 refnormpersp = normalize(reflect(pos.xyz, norm.xyz));
vec3 light_dir = (sun_up_factor == 1) ? sun_dir : moon_dir;