]> git.leopard-lacewing.eu Git - cgue_weave.git/commitdiff
fixed Normals in VS
authorPeter Schaefer <schaeferpm@gmail.com>
Sat, 9 May 2015 21:32:03 +0000 (23:32 +0200)
committerPeter Schaefer <schaeferpm@gmail.com>
Sat, 9 May 2015 21:32:03 +0000 (23:32 +0200)
shader/basicTexture_VS.hlsl

index 29d73f000b6a20a52997083dd3d2906740337ed6..2b83c337a95683e2ef6534041616cefa8204f5b2 100644 (file)
@@ -18,7 +18,11 @@ void main()
 {
        fUVs = aUV;
        vec4 world_Position = uModel * vec4(aPosition, 1);
-       worldNormal = (uModel * vec4(aNormal, 0.0f)).xyz;
+       mat3 scale = transpose(mat3(uModel))*mat3(uModel);
+       vec3 Normal;
+       for (int i = 0; i < 3; ++i)
+               Normal[i] = 1/(scale[i][i])*aNormal[i];
+       worldNormal = normalize((uModel * vec4(Normal, 0.0f)).xyz);
 
        gl_Position = uProjection * uView * world_Position;
 }
\ No newline at end of file