diff options
Diffstat (limited to 'indra/newview/app_settings/shaders/class2')
| -rw-r--r-- | indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl | 36 | 
1 files changed, 21 insertions, 15 deletions
| diff --git a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl b/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl index 2c1475d547..a4389f62dc 100644 --- a/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl +++ b/indra/newview/app_settings/shaders/class2/windlight/cloudsV.glsl @@ -36,6 +36,7 @@ ATTRIBUTE vec2 texcoord0;  VARYING vec4 vary_CloudColorSun;  VARYING vec4 vary_CloudColorAmbient;  VARYING float vary_CloudDensity; +  VARYING vec2 vary_texcoord0;  VARYING vec2 vary_texcoord1;  VARYING vec2 vary_texcoord2; @@ -66,13 +67,31 @@ uniform vec4 cloud_color;  uniform float cloud_scale; +// NOTE: Keep these in sync! +//       indra\newview\app_settings\shaders\class1\deferred\skyV.glsl +//       indra\newview\app_settings\shaders\class1\deferred\cloudsV.glsl +//       indra\newview\app-settings\shaders\class2\windlight\cloudsV.glsl +//       indra\newview\lllegacyatmospherics.cpp +//       indra\newview\llsettingsvo.cpp  void main()  { -  	// World / view / projection  	gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); -	vary_texcoord0 = texcoord0; +	// Texture coords +    // SL-13084 EEP added support for custom cloud textures -- flip them horizontally to match the preview of Clouds > Cloud Scroll +	vary_texcoord0 = vec2( -texcoord0.x, texcoord0.y ); // See: LLSettingsVOSky::applySpecial + +	vary_texcoord0.xy -= 0.5; +	vary_texcoord0.xy /= cloud_scale; +	vary_texcoord0.xy += 0.5; + +	vary_texcoord1 = vary_texcoord0; +	vary_texcoord1.x += lightnorm.x * 0.0125; +	vary_texcoord1.y += lightnorm.z * 0.0125; + +	vary_texcoord2 = vary_texcoord0 * 16.; +	vary_texcoord3 = vary_texcoord1 * 16.;  	// Get relative position  	vec3 P = position.xyz - camPosLocal.xyz + vec3(0,50,0); @@ -175,19 +194,6 @@ void main()  	vary_CloudDensity = 2. * (cloud_shadow - 0.25); -	// Texture coords -	vary_texcoord0 = texcoord0; -	vary_texcoord0.xy -= 0.5; -	vary_texcoord0.xy /= cloud_scale; -	vary_texcoord0.xy += 0.5; - -	vary_texcoord1 = vary_texcoord0; -	vary_texcoord1.x += lightnorm.x * 0.0125; -	vary_texcoord1.y += lightnorm.z * 0.0125; - -	vary_texcoord2 = vary_texcoord0 * 16.; -	vary_texcoord3 = vary_texcoord1 * 16.; -  	// Combine these to minimize register use  	vary_CloudColorAmbient += oHazeColorBelowCloud; | 
