[Bf-committers] Triangulate modifier

Morten Mikkelsen mikkelsen7 at gmail.com
Sat Nov 10 15:10:44 CET 2012


>
> >When baking with an all quad mesh, the triangulation that is done
> >internally in Morten's TS might not match the manual triangulation that
> >the user applies on export, which potentially could cause issues because
>

This is not exactly the issue. Let me clarify.
The mikktspace part is done at quad level if there are quads and will
always give the same
tangent spaces at vertex level no matter what the order of vertices or
faces is.
This is its very strong advantage which other tangent space calculators
can't do.

After mikktspace has already run the problem occurs at a later stage
because before rendering/baking triangulation has to have been performed.
So the issue is eventhough the tangent spaces at the vertices aren't
impacted by how quads are triangulated (since triangulation happens later)
the interpolated tangent space is heavily impacted by which diagonal is
picked. Similar to how Gouraud shading is heavily impacted by which
diagonal is picked. So eventhough tangent space is consistent at the
vertices you get problems if baker and render don't pick the same
triangulation
due to differences in the interpolated tangent space.

I should mention I am using "render triangulation" loosely here since it
can happen in a lot of places though for a game it would typically happen
somewhere in the engine's tools pipeline. Anyway the advantage to this
modifier is it enforces a consistent triangulation which will be received
by both baker and renderer (incl. Blender's renderer). Further, this is
achieved without causing permanent triangulation.
It's a sensible practice which is already used by artists in other modeling
products.

Morten M.


More information about the Bf-committers mailing list