Properly transform mesh normals while building the mesh and pre-compute the normal matrix before passing to the shader.