diff options
| author | Rider Linden <rider@lindenlab.com> | 2018-06-12 12:56:53 -0700 | 
|---|---|---|
| committer | Rider Linden <rider@lindenlab.com> | 2018-06-12 12:56:53 -0700 | 
| commit | e2adba65debbd1550a9eaead2a00e1426e8855a8 (patch) | |
| tree | 063da30d637ca835919453ebdc5badd31326b9c5 /indra/newview/app_settings/shaders/class3 | |
| parent | 2add1e7abdf536b32bfbfa4b353189782df8cb19 (diff) | |
| parent | 67ab0084f87c40bf31d7fadded55cc9ea6299ca2 (diff) | |
Merge
Diffstat (limited to 'indra/newview/app_settings/shaders/class3')
3 files changed, 21 insertions, 8 deletions
| diff --git a/indra/newview/app_settings/shaders/class3/deferred/cloudsF.glsl b/indra/newview/app_settings/shaders/class3/deferred/cloudsF.glsl index 96c70651b1..44b41cc0b8 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/cloudsF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/cloudsF.glsl @@ -42,10 +42,21 @@ VARYING vec2 vary_texcoord2;  VARYING vec2 vary_texcoord3;  uniform sampler2D cloud_noise_texture; +uniform sampler2D cloud_noise_texture_next; +uniform float blend_factor;  uniform vec4 cloud_pos_density1;  uniform vec4 cloud_pos_density2;  uniform vec4 gamma; +vec4 cloudNoise(vec2 uv) +{ +	vec4 a = texture2D(cloud_noise_texture, uv); +	vec4 b = texture2D(cloud_noise_texture_next, uv); +    vec4 samp = mix(a, b, blend_factor); +	return samp; +} + +  /// Soft clips the light with a gamma correction  vec3 scaleSoftClip(vec3 light) {  	//soft clip effect: @@ -75,7 +86,7 @@ void main()  	// Compute alpha1, the main cloud opacity -	float alpha1 = (texture2D(cloud_noise_texture, uv1).x - 0.5) + (texture2D(cloud_noise_texture, uv3).x - 0.5) * cloud_pos_density2.z; +	float alpha1 = (cloudNoise(uv1).x - 0.5) + (cloudNoise(uv3).x - 0.5) * cloud_pos_density2.z;  	alpha1 = min(max(alpha1 + cloudDensity, 0.) * 10. * cloud_pos_density1.z, 1.);  	// And smooth @@ -85,7 +96,7 @@ void main()  	// Compute alpha2, for self shadowing effect  	// (1 - alpha2) will later be used as percentage of incoming sunlight -	float alpha2 = (texture2D(cloud_noise_texture, uv2).x - 0.5); +	float alpha2 = (cloudNoise(uv2).x - 0.5);  	alpha2 = min(max(alpha2 + cloudDensity, 0.) * 2.5 * cloud_pos_density1.z, 1.);  	// And smooth diff --git a/indra/newview/app_settings/shaders/class3/deferred/skyF.glsl b/indra/newview/app_settings/shaders/class3/deferred/skyF.glsl index 5185a9f8f4..0fb990611e 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/skyF.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/skyF.glsl @@ -34,18 +34,18 @@ in vec3 view_dir;  uniform vec3 cameraPosLocal;  uniform vec3 sun_dir; +uniform vec3 moon_dir;  uniform float sun_size; -uniform sampler2D cloud_noise_texture;  uniform sampler2D transmittance_texture;  uniform sampler3D scattering_texture;  uniform sampler3D single_mie_scattering_texture;  uniform sampler2D irradiance_texture;  vec3 GetSolarLuminance(); -vec3 GetSkyLuminance(vec3 camPos, vec3 view_dir, float shadow_length, vec3 sun_dir, out vec3 transmittance); -vec3 GetSkyLuminanceToPoint(vec3 camPos, vec3 pos, float shadow_length, vec3 sun_dir, out vec3 transmittance); -vec3 GetSunAndSkyIlluminance(vec3 pos, vec3 norm, vec3 sun_dir, out vec3 sky_irradiance); +vec3 GetSkyLuminance(vec3 camPos, vec3 view_dir, float shadow_length, vec3 dir, out vec3 transmittance); +vec3 GetSkyLuminanceToPoint(vec3 camPos, vec3 pos, float shadow_length, vec3 dir, out vec3 transmittance); +vec3 GetSunAndSkyIlluminance(vec3 pos, vec3 norm, vec3 dir, out vec3 sky_irradiance);  void main()  { @@ -56,8 +56,9 @@ void main()      vec3 camPos = cameraPosLocal + vec3(0, 0, 6360.0f);      vec3 transmittance;      vec3 sky_illum; -    vec3 radiance = GetSkyLuminance(camPos, view_direction, 0.0f, sun_direction, transmittance); -    vec3 radiance2 = GetSunAndSkyIlluminance(camPos, view_direction, sun_direction, sky_illum); + +    vec3 radiance_sun = GetSkyLuminance(camPos, view_direction, 0.0f, sun_direction, transmittance); +    vec3 radiance2_sun = GetSunAndSkyIlluminance(camPos, view_direction, sun_direction, sky_illum);      radiance *= transmittance; diff --git a/indra/newview/app_settings/shaders/class3/windlight/advancedAtmoF.glsl b/indra/newview/app_settings/shaders/class3/windlight/advancedAtmoF.glsl index fed3edf7de..bdb54a1d63 100644 --- a/indra/newview/app_settings/shaders/class3/windlight/advancedAtmoF.glsl +++ b/indra/newview/app_settings/shaders/class3/windlight/advancedAtmoF.glsl @@ -33,6 +33,7 @@ in vec3 view_dir;  uniform vec3 cameraPosLocal;  uniform vec3 sun_dir; +uniform vec3 moon_dir;  uniform float sun_size;  uniform sampler2D transmittance_texture; | 
