So, the newest bug fix (0.0.82e) fixes:
[*] the minor wireframe + specular bug
[*] the small inconsistencies with tangent directions computation / vertex merging.
Here's how the latter works now:
When you [recompute tangent directions] now, it adds new vertices,
if they are needed.
When you [clean redundant vertices pos], it doesn't over-estimate the needed vertices due to tangent dirs anymore
It is a bit long/technical to explain, but, super-short version:
[*] mesh vertices duplicates (aka vertex seams) are needed whenever any
vertex attribute (normal, color, uv...) needs be discontinuous across two adjacent mesh faces. E.g. that happens over a UV cut, over a "hard-edge" (a crease, a discontinuous normal), etc.
[*] tangent direction is just another
vertex attribute. This one is needed to correctly display (tangent-space-)normal-maps. Usually, where UV is discontinuous (a UV cut), so are tangent directions, and viceversa. So, typically, storing tangent directions does not need any additional "vertex duplication" than the ones needed to store UVs.
[*] however, there is a special case when tangent directions needs be discontinuous but UV isn't. That can happen only when a part of a mesh where textures are mirrored meets a part of the mesh where textures are not mirrored.
[*] now, when you recompute tangent directions, OpenBRF detects the above case and responds by adding new vertex duplicates as needed. This means that now it can increase the number of vertices when you "recompute tangent dirs". If the seams are already there, it works just as before (this happens for all vanilla meshes I could test with). If the seams are not needed, it works just as before (this happens if the texture is never applied flipped over the mesh).
[*] note: this only happens when you explicitly ask OpenBRF to recompute tangent directions for you. No additional vertices are added when tangent-directions are silently and automatically pre-computed for previewing purposes only (i.e., when a bumpmapped mesh has no tangent directions stored in it).
[*] when you "Clean redundant vertex pos", OpenBRF can now merge vertices more aggressively/smartly because the cases when a separate copy of the vertex is actually needed due to tangent directions are correctly identified (it's the special case above).
Thank you [
[email protected]] for reporting the problems above. Does it behave more sensibly now?