optimisation of vertex normal calculation

Hi all

Just a query of how to optimise the vertex normal calculation. The following is a normal method:

  1. Work out normal of each face that share the vertex (normalised cross-product of 2 vectors on face)
  2. Get average of all face normals and normalise to unit length.

Now, to optimise this, in step (1) can I leave out the ‘normalise to unit length’ part of the calculation to get the face normal, and only do this once - at the end of step (2)?

Will the resulting vertex normal be the same?


No, the result won’t be the same. It will depend on the edge lengths of the various contributing facets. You may find that desirable (probably not).

Thanks Dorbie…

Are you saying that the average of multiple vectors (NOT of unit length), which are then normalised to unit length

…is different from…

The average of those same multiple vectors normalised individually (of unit length), which is then normalised?