[Bf-committers] Blender tangent space calculation

Morten Mikkelsen mikkelsen7 at gmail.com
Tue Nov 15 19:01:04 CET 2011


There is no point in doing this unless you export the correct tangents and
normals. That is the ones
that were used to bake the normal map.

I realize it blows that there is no API function to get the render normal.
So what you have to do is produce it yourself
like is done in
DerivedMesh.c<https://svn.blender.org/svnroot/bf-blender/trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c>
and
many other places as well.
An example in this file is the static function GetNormal() which is used as
 a call-back function by mikktspace.c
and you can see how it uses the averaged normal if the face is set to
smooth and it uses
the face normal which it calculates itself if the face is set to flat.

If you are going to make an api to export tangents I for one cannot
emphasize enough
that I prefer an all or nothing solution. Either do it right or don't do it
at all.
The last thing we need is to introduce a new tangent space standard within
blender.
Either export the correct basis that was used for baking (this includes the
normal)
or don't try to do it at all.


More information about the Bf-committers mailing list