Как проверить, является ли ребро контуром сетки? - PullRequest
2 голосов
/ 23 марта 2011

У меня есть 3D-сетка, которая состоит из множества треугольников.Мне нужно только сделать контур этой сетки.Пожалуйста, посмотрите это изображение http://postimage.org/image/2jnaopqro/

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

Однако этот метод не всегда работает.Как показано стрелкой while, вы можете видеть, что я пропускаю некоторые из контуров.Вы знаете почему?

Примечание:

1> I have checked that all normals are computed in CCW
2> The given mesh data is also correct. In other words, 
   no given triangle is returned with wrong order.

Мне будет очень интересно узнать ограничение этого метода обнаружения.Как я упоминал ранее, это работает большую часть времени.

Спасибо

1 Ответ

0 голосов
/ 23 марта 2011

Если вы хотите сделать «затенение toon», это часто делается не путем нахождения фактического края, а путем (например) заливки белым, рисуя сетку в виде сплошных черных контурных треугольников (возможно, с добавленным битом), затем рисуем сетку в виде невыделенных белых треугольников перед ней. В результате получается черный контур сетки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...