Я реализовал загрузчик файлов wavefront (OBJ) для своего приложения OpenGL, который предоставляет мне информацию о лице, текстуре и вершине. Однако, чтобы использовать освещение, мне, очевидно, нужна нормальная информация. Я знаю, что правильный способ сделать это - взять перекрестное произведение трех вершин, которые составляют треугольник, и нормализовать. Это приводит к нормальному, что вы применяете ко всем 3 вершинам правильно?
Однако для граней / треугольников, которые не находятся на краю многоугольника, каждая вершина используется 3 раза. Итак, я предполагаю, что вы просто усредняете каждый вновь рассчитанный нормаль с ранее вычисленными нормалями?
Кажется, это очень дорогая задача, как я думаю; перебирая все вершины и вычисляя нормали для каждой грани, использующей эту вершину, и усредняя. Есть ли лучший / более быстрый способ сделать это?
Приветствия
Крис