mirror of
				https://github.com/raysan5/raylib.git
				synced 2025-11-04 01:34:19 +00:00 
			
		
		
		
	Correct issue with tangents
This commit is contained in:
		@@ -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);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user