Нормали к граням и удаление скрытых поверхностей

Ускорить процесс визуализации часто помогает выполнение нескольких следующих действий.

Чтобы минимизировать время, необходимое для визуализации модели, обычно удаляют скрытые поверхности или скрывают объекты, расположенные вне зоны действия камеры.

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

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

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

В случае отсутствия грани необходимо ее восстановить вручную. Для объектов, построенных с использованием команды "3DГРАНЬ", направление нормали определяется тем, как нарисована грань в правоориентированной системе координат: если грань нарисована против часовой стрелки, нормаль ориентирована наружу, если по часовой стрелке – внутрь. Все грани следует строить одним и тем же методом.

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

В процессе визуализации система вычисляет все нормали, направленные от точки обзора, и удаляет из сцены связанные с ними грани. Этот этап удаления называется выбраковкой задней грани.

После того, как задние грани подавлены, модуль визуализации сравнивает относительные расстояния по оси Z при помощи Z-буфера. Если Z-буфер указывает, что одна из граней перекрывает другую, модуль визуализации подавляет скрытую грань. Выигранное таким образом время пропорционально отношению числа скрытых граней к общему их количеству.

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