SL-13804: Fix clouds flipped along East/West axis to match texture preview Cloud Image and direction to match Cloud Scroll

meow-7.2.2
Ptolemy 2020-06-04 11:47:55 -07:00
parent d1ed4deba0
commit 9529c81f26
3 changed files with 25 additions and 3 deletions

View File

@ -78,7 +78,15 @@ void main()
gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);
// Texture coords
vary_texcoord0 = texcoord0;
// vary_texcoord0 = texcoord0;
// SL-13084 EEP added support for custom cloud textures -- flip them horizontally to match the preview of Clouds > Cloud Scroll
// Keep in Sync!
// * indra\newview\llsettingsvo.cpp
// * indra\newview\app_settings\shaders\class2\windlight\cloudsV.glsl
// * indra\newview\app_settings\shaders\class1\deferred\cloudsV.glsl
vary_texcoord0 = vec2( -texcoord0.x, texcoord0.y );
vary_texcoord0.xy -= 0.5;
vary_texcoord0.xy /= cloud_scale;
vary_texcoord0.xy += 0.5;

View File

@ -72,7 +72,12 @@ void main()
// World / view / projection
gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);
vary_texcoord0 = texcoord0;
// SL-13084 EEP added support for custom cloud textures -- flip them horizontally to match the preview of Clouds > Cloud Scroll
// Keep in Sync!
// * indra\newview\llsettingsvo.cpp
// * indra\newview\app_settings\shaders\class2\windlight\cloudsV.glsl
// * indra\newview\app_settings\shaders\class1\deferred\cloudsV.glsl
vary_texcoord0 = vec2( -texcoord0.x, texcoord0.y );
// Get relative position
vec3 P = position.xyz - camPosLocal.xyz + vec3(0,50,0);

View File

@ -678,8 +678,17 @@ void LLSettingsVOSky::applySpecial(void *ptarget, bool force)
{
shader->uniform4fv(LLViewerShaderMgr::LIGHTNORM, 1, light_direction.mV);
// Legacy? SETTING_CLOUD_SCROLL_RATE("cloud_scroll_rate")
LLVector4 vect_c_p_d1(mSettings[SETTING_CLOUD_POS_DENSITY1]);
vect_c_p_d1 += LLVector4(LLEnvironment::instance().getCloudScrollDelta());
LLVector4 cloud_scroll( LLEnvironment::instance().getCloudScrollDelta() );
// SL-13084 EEP added support for custom cloud textures -- flip them horizontally to match the preview of Clouds > Cloud Scroll
// Keep in Sync!
// * indra\newview\llsettingsvo.cpp
// * indra\newview\app_settings\shaders\class2\windlight\cloudsV.glsl
// * indra\newview\app_settings\shaders\class1\deferred\cloudsV.glsl
cloud_scroll[0] = -cloud_scroll[0];
vect_c_p_d1 += cloud_scroll;
shader->uniform4fv(LLShaderMgr::CLOUD_POS_DENSITY1, 1, vect_c_p_d1.mV);
LLSettingsSky::ptr_t psky = LLEnvironment::instance().getCurrentSky();