Иногда нужно выполнить рисование сцены одними линиями, как это показано на рис. 8.2. Здесь рисуются только видимые участки каждого ребра, вследствие чего объекты выглядят объемными и непрозрачными. Вычерчивание линий может быть выбрано из художественных соображений, или потому, что оно намного быстрее цветной визуализации, или из-за того, что имеющиеся устройства могут выполнять только эту операцию.
Если устройство допускает «закраску поверх», так что ребра можно вначале нарисовать, а затем покрыть сплошными областями с цветом фона, то можно применять рассмотренные нами ранее НБИ-технологии. Мы просто производим визуализацию (видимой части) каждой полигональной грани с цветом фона и рисуем ее ребра черным цветом. При данной технологии каждая грань рисуется поверх нарисованных ранее, при необходимости перекрывая их, так что остаются только видимые ребра. Для достижения этой цели могут применяться список приоритетов, метод Варнока и алгоритмы буфера глубины.
Если устройство не поддерживает «рисования поверх», то нам потребуется использовать другие методы для осуществления НЬЯ (удаления невидимых линий). Например, после того как перьевой графопостроитель нарисовал линию, она не может быть «стерта». Кроме того, некоторые растровые устройства типа фоторегистраторов также не допускают перерисовывание линий, поскольку при повторном рисовании цвета перемешиваются, а не рисуются поверх старых.
Рис 13.17. Выполнение удаления невидимых линий В данном разделе мы рассматриваем методы, в которых каждый элемент рисуется только после завершения полной проверки на видимость, вследствие чего ни одна его часть не подлежит стиранию или рисованию поверх нее. Сосредоточим свое внимание на рисовании видимых ребер каркасного объекта. При прямом подходе осуществляется отсечение каждого ребра такого объекта относительно всех граней, которые его заслоняют. Как показано на рис. 13.17, некоторые ребра не изменяются вовсе (е,), другие полностью удаляются со сцены (е2), третьи отсекаются с одного конца, а четвертые разбиваются на несколько кусков (е3).