считаю нормали к этим треугольникам через векторное произведение двух сторон. Проблема в том, что обход вершин никак не задается, как и соответственно порядок вершин при умножении, то есть моя нормаль может быть направлена в любую сторону от повехности фигуры: может смотреть как внутрь фигуры, так и наружу. Разумеется, для корректного отображения, нужны нормали от центра фигуры. Вопрос вот в чем - есть ли какой-то алгоритм, с помощью которого можно было б проверять, что полученная нормаль направлена ОТ поверхности, а не К поверхности треугольников, чтобы в случае чего ее можно было инвертировать?
обычно направление треугольника и задается порядком обхода вершин, и они в сорце модели правильно отсортированы
порядок ведь может отличаться в разных моделях, поэтому нужно как то самому проверять корректность нормалей и если что инвертировать
в рамках одной модели где все треугольники в одну сторону он всегда должен быть одинаковым — против или по часовой стрелке, в зависимости от движка если вдруг приспичит что-то вывернуть, то вам 3д софт запишет в меш в обратном порядке
Обсуждают сегодня