23 minutes ago, Zakwayda said:
Are the normals imported from the file, or are you computing them yourself? (Based on what you said I'm guessing the latter, but it might be helpful to clarify.)
I think he imports them. Problem is, that if you use an inverse scale, all normals need to be adjusted too, otherwise they point into the wrong direction.
However, wasn't sure about that the first time I posted and am still not sure, but the tool you need may be Householder reflexions:
https://en.wikipedia.org/wiki/Householder_transformation
https://de.wikipedia.org/wiki/Householdertransformation
Check the linked german wiki too, because it contains a nice picture which isn't in the English version. I am currently learning about this topic myself, so no guarantees for the correctness, but the transformation matrix you need to apply to all your normals might be:
T = I - 2 * v * transpose(v)
I is the identity matrix and v the normalized surface normal of your triangle stored as a column vector. So you need to calculate the transformation matrix for each triangle. Use the cross product to get the normal. I can't check it myself since I am in a hurry, but let me know if it worked.
Greetings