diff options
author | Cosmic Linden <cosmic@lindenlab.com> | 2022-12-09 18:35:37 -0800 |
---|---|---|
committer | Cosmic Linden <cosmic@lindenlab.com> | 2022-12-09 18:35:37 -0800 |
commit | ec9557e4b3e7932c8f9a4c3729de45a8f4cb04f7 (patch) | |
tree | 2a4ffec8de62dd2d323e48f070fa9f9cc98efe60 | |
parent | e3b34fec6962e6deda3dd9dd83bf9fa20ab594af (diff) |
SL-18740: Fix texture animations not working for GLTF materials
-rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/pbralphaV.glsl | 9 | ||||
-rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/pbropaqueV.glsl | 9 |
2 files changed, 10 insertions, 8 deletions
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; |