About normals....

I don’t know wether this post is off-topic or not.I will accept every kind of answer.

i would like to understand the correct way of calculating Vertex normals. At the moment i’m implementing the classic algorithm wich consist in averaging and normalizing the face normals that share the vertex (Goraud?).

The resulting object appear nice but with no edges.

I got some questions about “Averaging”:

  • just sum the face-normals?
  • or, sum and divide (for the # of faces)?

Second Algo: Welding (edge preserving).
This is what i really like to implement.
I got some descriptions of the above algo but they are quite obscure.

Does someone of you have or knows where to pick a clear description of it (pseudo code or some examples).

I have read a discussion on it made by Nate, and i have the code he use to implement welding, but i like to make a mine implementation.

Thanks for the patience.

It is averaging so sum and divide. I assume that you are talking about Nate Robins loader http://www.xmission.com/~nate/smooth.html#fig2. As I understands does he only use face normals for edge preserving if the angle between the polygons is sharp enough. If the angle is not so sharp does he apply the above mentioned normals averaging.
The “welding” is only needed if the model has duplicate vertices and he wants to average the normals. If the duplicate vertices is not removed will the calculated average not be correct.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.