Something that's annoyed me from time to time is the results of just adding the normals of all triangles that share a vertex and re-normalising, the easiest example is a cube where 2 triangles on 1 or 2 of the faces share a vertex and the other face(s) only have 1 triangle using the vertex, the normals end up a bit off.
so I've come up with a solution, for that case at least as I'm not 100% sure what the results will be like in other cases and I'm a little busy right now to try anything out.
vector_sum += triangle_normal * acos( dot(v0,v1) ) 'where v0 and v1 are unit vectors
'pointing away from the vertex along
'the 2 edges of the triangle
Anyway, if you've come up against this problem this might be of some use and if you find this is good or bad in other cases let me know.
Cheers, Fryer.