Ok, here's a simple explanation of normals and their use in 3D rendering. Note that this is vastly oversimplified.
The normal to the surface of a triangle is a vector that indicates which direction is "up." Normals have the property that they are perpendicular to the surface of the triangle they belong to. Rendering systems use the normal to indicate which side of a
triangle is the outside (the "up" side) and to do lighting computations. Because the normals indicate which side of a triangle is the outside, it is important to make certain that all of the normals on an object point outward, or the object won't look right
when it is drawn.
There are actually two kinds of normals that you need to be concerned with: "surface" normals and "vertex" normals. Surface normals are exactly what they sound like: normals to the surface of a triangle. You compute a surface normal by computing the cross-product
of the vectors along any two sides of the triangle that share the same vertex and normalizing the result to unit length. If terms like "cross-product," "unit vector" or "normalize to unit length" are unfamiliar to you, you can search for them on the web with
your favorite search engine. The right hand rule will tell you which direction the normal points.
"Vertex" normals indicate which direction is "up" or "outside" at a vertex of the model. You compute a vertex normal by averaging the surface normals of all the triangles that share that vertex.
Which kind of vertex gets used depends on the shading model you are using. If you are using a flat shading model, then the surface normals are used for the lighting computations and every point on the surface of the same triangle will have the same color.
If you are using an "interpolated" or "smooth" shading model, then the vertex normals are used for the lighting computations. Essentially, the vertex normals are used to compute the color at each vertex, and then the colors at the vertecies are interpolated
to compute the color at each point on each triangle of the model. This produces a smoother look than the flat shaded model at the cost of more computations.
Hopefully, this is enough for you to get started.
Thread Closed
This thread is kinda stale and has been closed but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.