Sponza model normal maps have incorrect Y direction
aejsmith opened this issue · 2 comments
glTF specifies that normal maps have Y as up, however the normal maps for this model have Y as down.
My engine currently does not use precomputed tangents from the model, instead it always calculates the tangent basis in the pixel shader. When doing this, I get upside down normals for the Sponza model, so I have to manually invert Y to fix it.
Example textures where it's particularly obvious:
https://github.com/KhronosGroup/glTF-Sample-Models/blob/master/2.0/Sponza/glTF/759203620573749278.jpg
https://github.com/KhronosGroup/glTF-Sample-Models/blob/master/2.0/Sponza/glTF/13982482287905699490.jpg
Generally I agree. The spec for normalTexture
is fairly clear on this.
That said, I'm not sure it's legit for readers to ignore the embedded tangents and compute their own. But that doesn't make it OK for models to flip the Y axis in the normal map.