Некоторые файлы .obj вообще не имеют нормалей.Сначала вы должны вычислить нормали для каждого лица:
Учитывая грань, состоящую из 3 вершин v1, v2, v3, вы можете вычислить нормаль: нормаль - это нормализованное перекрестное произведение между v1 - v2 и v1 - v3
N = Normalize( (v1 - v2) x (v1 - v3) )
Normalize(V) = V / length(V)
length(V) = SQRT (V.x * V.x + V.y * V.y + V.z * V.z)
Перекрестное произведение:
v × u = (v.y * u.z − v.z * u.y, v.z * u.x − v.x * u.z, v.x * u.y − v.y * u.x).
После этого вы можете вычислить "гладкие" нормали путем усреднения всех нормалей смежных граней.