OK, sensationalist headline. But it got your attention! This was a spinoff from another thread, I thought it deserved its own.
Here are my findings based on Max vs. Maya baking using the native tools and displaying the results in the viewport using the native tools.
Summary:Unless your game engine is set up to use the same tangent basis as 3ds Max's renderer (not it's viewport), your normal-mapped models will never look 100% correct!
I have just done some simple tests tonight, and I can confirm that Max's "baking" tangent space is the same as it's "render" tangent space (no surprise, since the scanline renderer is used to bake normals in Max), however the "render" tangent space does not match
the tangent space that it uses in the viewport. This strikes me as just plain insane. It means you'll never get the same result between rendering and viewport display.
If you use a "correct" normal-map for viewport display in Max, then it will look messed up in render, and vice versa... horrible.
I baked the same objects in Maya, and they are displayed perfectly in the Maya viewport. Interestingly enough, this map also looks perfect in Max's viewport! That means that the viewports in both apps derive tangent basis in the same way. However it also means that Maya's baking renderer correctly uses this tangent space!
Which makes sense, of course.
It basically seems like since the viewports (and Maya's baker and Mental Ray, by extension) seem to all use the same tangent basis derivation, this is the most "correct" one, and therefore 3ds Max's renderer and baker are "wrong". This should be a standard that all applications adhere to, I see no reason why it shouldn't be.
Screenshots as promised...
Comparison of viewport shaders (just using both apps' native display of default shaders, nothing fancy or custom - grey Phong materials with high specular):
Max's scanline renderer normal map output:
Max's Mental Ray normal map output (ignore lack of anti-aliasing, that's not what's being tested here):
Maya's normal map output:
If you're feeling intrigued you could download those normal maps and flick back and forth between them in an image viewer to see the main differences. You should be able to see them clearly enough here, though.
So, out of interest, does anyone here work in a pipeline where they bake their normal-maps using 3ds Max, and if so, do you know what your game does with them? Have you ever had any problems?EDIT: ADDENDUM!
Here are some direct links to some of the more useful posts from later in the thread:
EDIT 2! 3POINT SHADER RELEASED!http://www.3pointstudios.com/3pointshader_about.shtml