Your normal map texture has normal values that are specified in tangent space, while light direction and other lighting parameters are typically specified in world space. You need vertex normal, vertex tangent and vertex binormal for doing conversions between tangent space and world space.
Bookmarks