Как я генерирую поверхностные нормали?


9

У меня довольно много отладочных методов рисования в моем движке, которые могут генерировать геометрию, полезную для отладки, например сферы и кубы.

На данный момент я не генерирую нормалей для этих фигур. Существует ли метод общего назначения для генерации нормали граней и нормалей по вершинам для произвольной сетки? (Я полагаю, вам понадобятся грани нормали для генерации по каждой вершине?)

Ответы:


12

Для генерации нормали грани используйте векторное произведение двух ребер в каждом треугольнике, а затем нормализуйте результат. Убедитесь, что вы правильно указали направление, в противном случае некоторые нормали будут указывать, а некоторые - нет.

Тогда нормали вершин будут интерполяцией всех нормалей граней, к которым прикреплена вершина.


Вы имеете в виду нормализованную интерполяцию (или просто нормализованное суммирование), предположительно;)
Эндрю Рассел

3
Всегда перенормируйте после суммирования! Даже если вы интерполировали из нормализованных векторов, результат НЕ нормализуется!
Боб Сомерс

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.