Browse Source

Correct issue with tangents

Ray 7 years ago
parent
commit
276847eca9
1 changed files with 3 additions and 3 deletions
  1. 3 3
      examples/models/resources/shaders/pbr.vs

+ 3 - 3
examples/models/resources/shaders/pbr.vs

@@ -12,7 +12,7 @@
 in vec3 vertexPosition;
 in vec2 vertexTexCoord;
 in vec3 vertexNormal;
-in vec3 vertexTangent;
+in vec4 vertexTangent;
 
 // Input uniform values
 uniform mat4 mvp;
@@ -28,7 +28,7 @@ out vec3 fragBinormal;
 void main()
 {
     // Calculate binormal from vertex normal and tangent
-    vec3 vertexBinormal = cross(vertexNormal, vertexTangent);
+    vec3 vertexBinormal = cross(vertexNormal, vec3(vertexTangent));
 
     // Calculate fragment normal based on normal transformations
     mat3 normalMatrix = transpose(inverse(mat3(mMatrix)));
@@ -39,7 +39,7 @@ void main()
     // Send vertex attributes to fragment shader
     fragTexCoord = vertexTexCoord;
     fragNormal = normalize(normalMatrix*vertexNormal);
-    fragTangent = normalize(normalMatrix*vertexTangent);
+    fragTangent = normalize(normalMatrix*vec3(vertexTangent));
     fragTangent = normalize(fragTangent - dot(fragTangent, fragNormal)*fragNormal);
     fragBinormal = normalize(normalMatrix*vertexBinormal);
     fragBinormal = cross(fragNormal, fragTangent);