как определить обмотку OpenGL на основе нормалей? - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь понять, как вручную создавать объекты.

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

Но я не понимаю, как выбрать правильную обмотку. Это звучит просто, когда в уроках говорится о намотке CCW в экранном пространстве. Но что, если у меня есть куча почти хаотичных c точек в пространстве модели? Как же тогда определить эту CCW, какая ось для этого используется? Я предполагаю, что могут помочь ближайшие старые нормали. Но каков самый дешевый метод определения правильности заказа?

1 Ответ

2 голосов
/ 27 мая 2020

Оказалось проще, чем я думал. Необходимо найти векторное произведение первых двух векторов из вершин треугольника, затем найти точку результирующего вектора и вектор нормали, если результат отрицательный, то при генерации необходимо изменить порядок вершины.

...