Hi. I am sorry if I subscribe into a wrong place, I am new and I've not actually planned to change or to debug the blender sources yet. But I trying to write app that'll be render models with normal mapping exported from blender, and I have a question about how exactly is blender calculates a tangent vectors when Unwrap operation in the editing mode performs?
Calculating tangents in my app in usual manner (using UV coords and verts positions) gives me different tangents for each face of the same vertex indexed from, and thus crumpled normal map looking. Then by looking into blender sources (searching by 'tangent' keyword) I've found a couple of functions with tangents calculations, like: float axis[3] = {0.0f, 0.0f, 1.0f}; cross_v3_v3v3(tangent, normal, up); normalize_v3(tangent); After I tried same method in my program I've gotten almost perfect looking model, depending on what initial axis I've used. To choose, which axis to use (0, 0, 1), (0, 1, 0) or (1, 0, 0) for each normal, I calculate max dot product of tangent calculated by each axis with tangent calculated from UV coords. But still it seems that in some rare vertices tangent is calculates wrong, maybe because of wrong initial axis. So, can anyone please give me any information about tangents calculation formula that blender uses while generates UV coords or some advice about choosing initial axis. Thanks for help. Eugene _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers