diff options
| author | Graham Linden <graham@lindenlab.com> | 2019-05-03 10:12:56 -0700 | 
|---|---|---|
| committer | Graham Linden <graham@lindenlab.com> | 2019-05-03 10:12:56 -0700 | 
| commit | 1522a9902481b69b3d04bee5edd79102a796630b (patch) | |
| tree | 04a5120b9257ca0ecd0b4a0afd0ed7bed747b035 /indra/newview/app_settings/shaders/class1/deferred | |
| parent | 9c23ede9799a3277ae8e79f9832b3ea557fc069d (diff) | |
SL-11070
Gave clouds the Bob Ross treatment.
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred')
3 files changed, 12 insertions, 16 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/deferred/cloudsF.glsl b/indra/newview/app_settings/shaders/class1/deferred/cloudsF.glsl index 595efdf6fe..6ff97fd1e9 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/cloudsF.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/cloudsF.glsl @@ -1,5 +1,5 @@  /**  - * @file WLCloudsF.glsl + * @file class1\deferred\cloudsF.glsl   *   * $LicenseInfo:firstyear=2005&license=viewerlgpl$   * Second Life Viewer Source Code @@ -86,14 +86,14 @@ void main()      vec2 disturbance2 = vec2(cloudNoise((uv1 + uv3) / 4.0f).x, cloudNoise((uv4 + uv2) / 8.0f).x) * cloud_variance * (1.0f - cloud_scale * 0.25f);      // Offset texture coords -    uv1 += cloud_pos_density1.xy;// + (disturbance * 0.02);    //large texture, visible density +    uv1 += cloud_pos_density1.xy + (disturbance * 0.02);    //large texture, visible density      uv2 += cloud_pos_density1.xy;   //large texture, self shadow      uv3 += cloud_pos_density2.xy;   //small texture, visible density      uv4 += cloud_pos_density2.xy;   //small texture, self shadow      float density_variance = min(1.0, (disturbance.x* 2.0 + disturbance.y* 2.0 + disturbance2.x + disturbance2.y)); -    //cloudDensity *= 1.0 - (density_variance * density_variance); +    cloudDensity *= 1.0 - (density_variance * density_variance);      // Compute alpha1, the main cloud opacity @@ -104,8 +104,8 @@ void main()      alpha1 = 1. - alpha1 * alpha1;      alpha1 = 1. - alpha1 * alpha1;   -    //alpha1 *= altitude_blend_factor; -    //alpha1 = clamp(alpha1, 0.0, 1.0); +    alpha1 *= altitude_blend_factor; +    alpha1 = clamp(alpha1, 0.0, 1.0);      // Compute alpha2, for self shadowing effect      // (1 - alpha2) will later be used as percentage of incoming sunlight @@ -120,11 +120,7 @@ void main()      vec4 color;      color = (cloudColorSun*(1.-alpha2) + cloudColorAmbient);      color.rgb= max(vec3(0), color.rgb); -    //color.rgb = linear_to_srgb(color.rgb); - -//alpha1 = 1.0; -//color.rgb = cloudColorAmbient.rgb; -color.rgb = vec3(1,0,1); +    color.rgb *= 2.0;      /// Gamma correct for WL (soft clip effect).      frag_data[0] = vec4(scaleSoftClip(color.rgb), alpha1); diff --git a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl index 10425bb91f..f1eb1af90c 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/cloudsV.glsl @@ -99,14 +99,14 @@ void main()  	vec4 temp2 = vec4(0.);  	vec4 blue_weight;  	vec4 haze_weight; -	//vec4 sunlight = (sun_up_factor == 1) ? sunlight_color : moonlight_color; -    vec4 sunlight = sunlight_color; +	vec4 sunlight = (sun_up_factor == 1) ? sunlight_color : moonlight_color;  	vec4 light_atten; +    float dens_mul = density_multiplier * 0.45;  	// Sunlight attenuation effect (hue and brightness) due to atmosphere  	// this is used later for sunlight modulation at various altitudes -	light_atten = (blue_density + vec4(haze_density * 0.25)) * (density_multiplier * max_y); +	light_atten = (blue_density + vec4(haze_density * 0.25)) * (dens_mul * max_y);  	// Calculate relative weights  	temp1 = blue_density + haze_density; @@ -119,7 +119,7 @@ void main()  	sunlight *= exp( - light_atten * temp2.y);  	// Distance -	temp2.z = Plen * density_multiplier; +	temp2.z = Plen * dens_mul;  	// Transparency (-> temp1)  	// ATI Bugfix -- can't store temp1*temp2.z in a variable because the ati @@ -138,7 +138,7 @@ void main()  	temp2.x = pow(temp2.x, glow.z);  		// glow.z should be negative, so we're doing a sort of (1 / "angle") function -    //temp2.x *= sun_moon_glow_factor; +    temp2.x *= sun_moon_glow_factor;  	// Add "minimum anti-solar illumination"  	temp2.x += .25; diff --git a/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl b/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl index bee8e2dab5..4603c69f2a 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/skyV.glsl @@ -87,7 +87,7 @@ void main()  	vec4 sunlight = (sun_up_factor == 1) ? sunlight_color : moonlight_color;  	vec4 light_atten; -    float dens_mul = density_multiplier; +    float dens_mul = density_multiplier * 0.45;  	// Sunlight attenuation effect (hue and brightness) due to atmosphere  	// this is used later for sunlight modulation at various altitudes | 
