From ec9557e4b3e7932c8f9a4c3729de45a8f4cb04f7 Mon Sep 17 00:00:00 2001 From: Cosmic Linden Date: Fri, 9 Dec 2022 18:35:37 -0800 Subject: SL-18740: Fix texture animations not working for GLTF materials --- .../newview/app_settings/shaders/class1/deferred/pbralphaV.glsl | 9 +++++---- .../newview/app_settings/shaders/class1/deferred/pbropaqueV.glsl | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) (limited to 'indra/newview/app_settings/shaders') diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbralphaV.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbralphaV.glsl index 19bca098e8..a2ad1b70fb 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbralphaV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbralphaV.glsl @@ -36,6 +36,7 @@ mat4 getObjectSkinnedTransform(); uniform mat3 normal_matrix; uniform mat4 modelview_projection_matrix; #endif +uniform mat4 texture_matrix0; #if (DIFFUSE_ALPHA_MODE == DIFFUSE_ALPHA_MODE_BLEND) #if !defined(HAS_SKIN) @@ -92,10 +93,10 @@ void main() vary_fragcoord.xyz = vert.xyz + vec3(0,0,near_clip); #endif - basecolor_texcoord = (texture_basecolor_matrix * vec3(texcoord0,1)).xy; - normal_texcoord = (texture_normal_matrix * vec3(texcoord0,1)).xy; - metallic_roughness_texcoord = (texture_metallic_roughness_matrix * vec3(texcoord0,1)).xy; - emissive_texcoord = (texture_emissive_matrix * vec3(texcoord0,1)).xy; + basecolor_texcoord = (texture_matrix0 * vec4(texture_basecolor_matrix * vec3(texcoord0,1), 1)).xy; + normal_texcoord = (texture_matrix0 * vec4(texture_normal_matrix * vec3(texcoord0,1), 1)).xy; + metallic_roughness_texcoord = (texture_matrix0 * vec4(texture_metallic_roughness_matrix * vec3(texcoord0,1), 1)).xy; + emissive_texcoord = (texture_matrix0 * vec4(texture_emissive_matrix * vec3(texcoord0,1), 1)).xy; #ifdef HAS_SKIN vec3 n = (mat*vec4(normal.xyz+position.xyz,1.0)).xyz-pos.xyz; diff --git a/indra/newview/app_settings/shaders/class1/deferred/pbropaqueV.glsl b/indra/newview/app_settings/shaders/class1/deferred/pbropaqueV.glsl index 25bf19b4ec..5a69da641a 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/pbropaqueV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/pbropaqueV.glsl @@ -36,6 +36,7 @@ mat4 getObjectSkinnedTransform(); uniform mat3 normal_matrix; uniform mat4 modelview_projection_matrix; #endif +uniform mat4 texture_matrix0; uniform mat3 texture_basecolor_matrix; uniform mat3 texture_normal_matrix; @@ -75,10 +76,10 @@ void main() gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0); #endif - basecolor_texcoord = (texture_basecolor_matrix * vec3(texcoord0,1)).xy; - normal_texcoord = (texture_normal_matrix * vec3(texcoord0,1)).xy; - metallic_roughness_texcoord = (texture_metallic_roughness_matrix * vec3(texcoord0,1)).xy; - emissive_texcoord = (texture_emissive_matrix * vec3(texcoord0,1)).xy; + basecolor_texcoord = (texture_matrix0 * vec4(texture_basecolor_matrix * vec3(texcoord0,1), 1)).xy; + normal_texcoord = (texture_matrix0 * vec4(texture_normal_matrix * vec3(texcoord0,1), 1)).xy; + metallic_roughness_texcoord = (texture_matrix0 * vec4(texture_metallic_roughness_matrix * vec3(texcoord0,1), 1)).xy; + emissive_texcoord = (texture_matrix0 * vec4(texture_emissive_matrix * vec3(texcoord0,1), 1)).xy; #ifdef HAS_SKIN vec3 n = (mat*vec4(normal.xyz+position.xyz,1.0)).xyz-pos.xyz; -- cgit v1.2.3