Hi, I want to use a Normal for each Point of my scene. Does anyone know how to calculate them? I’ve just worked with Normals for each Triangle, but that’s not what I want …
THANX
Well actualy what is the good of those vertex normals , explain for beginner please…
Hi !
There are a number of ways to cheat, but still look’s ok, have a look at the Graphics Gems code to have a look on how it can be done, there is an example of code that calculates the vertex normals for a mesh of polygons.
Google should also give you a good set of hits.
Mikael
Originally posted by Tea:
Well actualy what is the good of those vertex normals , explain for beginner please…
Hi !
If you have a sphere for example and just use surface normals (all vertex normals point in the same direction), you get a pretty ugly sphere (unless that’s what you want) because you can see each triangle the sphere is built from.
If you calculate vertex normals you get a smooth sphere (or at least it look’s smooth to som extent). because it makes the colors behave like the triangle is a curved surface.
You do this by modifing the vertex normals to average between the triangles that use that vertex.
Mikael
Originally posted by mikael_aronsson:
[b] Hi !
If you have a sphere for example and just use surface normals (all vertex normals point in the same direction), you get a pretty ugly sphere (unless that’s what you want) because you can see each triangle the sphere is built from.
If you calculate vertex normals you get a smooth sphere (or at least it look’s smooth to som extent). because it makes the colors behave like the triangle is a curved surface.
You do this by modifing the vertex normals to average between the triangles that use that vertex.
Mikael
[/b]
Good example. But this not useful for objects like walls, floors(couse of their low count triangles).
First you should have an ordered structure of your geometric data. I used half-edge data-structure: www.flipcode.com/tutorials/tut_halfedge.shtml
After that just loop around each vertex, add all the normals of the adjacent polygons and then normalize it.