summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcosmic-linden <111533034+cosmic-linden@users.noreply.github.com>2022-12-12 09:45:52 -0800
committerGitHub <noreply@github.com>2022-12-12 09:45:52 -0800
commit8b7461447110d4f15d6d3b9e31220ee5451264cd (patch)
tree2a4ffec8de62dd2d323e48f070fa9f9cc98efe60
parente3b34fec6962e6deda3dd9dd83bf9fa20ab594af (diff)
parentec9557e4b3e7932c8f9a4c3729de45a8f4cb04f7 (diff)
Merge pull request #34 from secondlife/SL-18740
SL-18740: Fix texture animations not working for GLTF materials
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/pbralphaV.glsl9
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/pbropaqueV.glsl9
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;