What I do is just transform the vertexes on

their own without looking at extra data. This

is very easy; just calculate the “center

weight” for your vertexes with the weighting

function of your choice, and then translate

with the negative of that result.

I e, if your mesh only had two vertexes:

(1, 4, 4) and (9, 6, 8)

the linear center weight would be

(5, 5, 6)

Thus, you translate all your vertexes by

(-5, -5, -6) to end up with

(-4, -1, -2) (4, 1, 2)

If you have some specific constraints (such

as the bottom-most vertex always needs to be

at Z 0) you can easily add that to your

weighting function.

This works fine, because all the other data

(texture U/V, normals, etc) is location-

independent.

Btw: I also inspect the mesh data to

calculate normals, because I haven’t found a

description of the format which includes

normal information. My current method

calculates the normal of each triangle, and

then averages/normalizes them for all the

triangles connecting each vertex.