you must write a shader to do per-pixel lighting. The standard lights are only hardware vertex lights, but you can pass the light properties to a shader, and use them to calculate per-pixel lighting. Do a search for my Ultimate Lighting shader..
Vertex normals are simply the direction the vertex (and thus the polygon) 'face'.. All lighting models depend on the vertex normals. The simple diffuse lighting formula is diffusecolor=dotproduct(normal,lightdirection). However, if this formaula is applied using only vertex normal data, your lighting quality will be based on the number of vertices you have..so if you have a low poly model, your lighting will be accordingly low resolution. The purpose of per-pixel lighting/normal mapping, is that you can do the dot product based not only on the vertex normal but the normalmap data as well. The calculation is the same as vertex lighting.
Therefor a normal map adds pixel level data to the normals of the model, but can only be used in a per-pixel calculation.
Last edited by Matt_Aufderheide; 05/19/05 18:49.