I'm working on a mesh converter (from OBJ to custom binary format).
I've been trying to get tangent vector calculation to work properly but there were some issues with my code, so I switched to NVMeshMender (though without the "d3d9" dependency, I changed the source slightly to use glm).
Problem is, it's still not working, but not even without the tangents. Whether I instruct NVMeshMender to (re)calculate the normals or not, it introduces artifacts in the raw normals, which I did not have before.
I load the OBJ file line-by-line, collect unique vertices (which have equal V, N, UV indices), then run MeshMender on this data. I store the normals and tangents packed in GL_INT_2_10_10_10_REV format. Strange thing is, only a couple of normals are messed up, and it seems to be random.
Here's a screenshot (note it might seem too dark but that's because I forgot to turn off the tone mapping pass).
The Iron Man model does not seem to have artifacts, but nearly every other model seems to do.
By posting this I'm hoping that somebody will recognize this kind of artifact and can point me in the right direction.
Any help is greatly appreciated!
EDIT: When I also export the normals from Blender in the OBJ, the results are slightly different but the artifacts are still present (e.g. the monkey's eyes have more artifacts horizontally)...