Standards for Bitangent vectors, normal maps, etc.


#1

I have been programming 3D graphics applications for many years now, but I have seemed to have avoided using bitangent vectors for things like normal maps, so please forgive me if this comes off as a nOOb question…

There are many tutorials explaining what bitangent vectors are, what they are used for and how to calculate them. Based on my experience, I suspect that there may be more than one way of doing them, and they may not be 100% consistent (please correct me if I am wrong).

The first issue is with discontinuous UV coordinates… I assume that the bitangent vectors should mirror the UV topology, and not the vertex (XYZ space) topology. That is, there is one pair of bitangent vectors for every UV, not for every vertex? Now this is relatively straight forward, but is it pretty much always done this way?

The second question is related to normal maps themselves… I understand that there is not a standard as to how the colors are encoded. There are of course relative and absolute normal maps (relative using the bitangents, absolute using XYZ space). Some use XYZ = RGB, Some may use XYZ = R-GB, etc, etc. etc. Is there a most commonly used configuration that I can use by default?

So, in essence, what I am looking for is your opinions on how to make my bitangent and normal map calculations as close to an existing standard as possible. Also, if there are other special cases (“gotchas” if you will) that you may have encountered that you would like to share.

Thank you very much in advance, and I look forward to reading your opinions on the subject.
Konan

p.s. Again, I will re-iterate that I know this question on the surface may seem trivial, but it’s the subtle details that I am looking for, and they are not easy to find via a simple google search.


#2

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.