Машинная графика - Учебное пособие (П.В.Вельтмандер)

0.8.4  варианты архитектуры графических систем

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

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

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

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

Принципиальным моментом в разработке распределенной системы является выбор оптимального разделения функций между подсистемами моделирования и отображения. Естественно предполагать, что какая-либо граница раздела должна находиться в месте полного завершения выполнения некоторой функции. Кроме того, вряд ли целесообразно разделять между различными подсистемами некоторый файл данных и программу (процессор) его "интенсивной" обработки. Для уяснения задачи распределения функций рассмотрим модель графической системы с точки зрения процессов преобразования информации при формировании изображения.

Процесс вывода может быть представлен следующей схемой:

Рисунок 49

Рис. 0.1.5: Модель процесса вывода в графической системе. БД - база данных прикладной программы; ПП - прикладная программа; ГСДФ - генератор структурированного дисплейного файла; СДФ - структурированный дисплейный файл; ГЛДФ - генератор линейного дисплейного файла; ЛДФ - линейный дисплейный файл; ДП - дисплейный процессор; ВЫВ1, ВЫВ2, ВЫВ3, ВЫВ4 - возможные границы разделения функций

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

Итак: ВЫВ1 - подсистема моделирования готовит высокоуровневую информацию для построения структурированного дисплейного файла. Подсистема отображения формирует его и поддерживает работу с таким файлом, т.е. обмен информацией производится на наиболее высоком семантическом уровне.

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

ВЫВ3 - подсистема моделирования формирует информацию для построения линейного дисплейного файла, возможно сегментированного. Линейный дисплейный файл формируется и поддерживается подсистемой отображения. Он является результатом выполнения геометрических преобразований, преобразований окно - порт и отсечения над полным изображением.

ВЫВ4 - подсистема моделирования формирует линейный (сегментированный) дисплейный файл и в аппаратно-ориентированной форме передает его подсистеме отображения, в задачи которой входит лишь поддержка функций приема и интерпретации файла в изображение дисплейным контроллером. Требования к вычислительной мощности подсистемы отображения и ее программному обеспечению в данном случае минимальны.

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

Из рассмотренного ясно, что наиболее целесообразны границы раздела ВЫВ1, ВЫВ3, ВЫВ4. Причем первые две обеспечивают аппаратную независимость, а последняя соответствует минимальным требованиям к подсистеме отображения.

Естественно полагать, что подсистема моделирования находится в ЦП, а подсистема отображения представлена дисплейным процессором.

Для повышения быстродействия при выполнении преобразований используются архитектуры с двойной буферизацией, использующие два дисплейных контроллера и два буфера для сохранения изображения. Дисплейный контроллер 1 выполняет преобразования и формирует линейный дисплейный файл в одном из буферов. Параллельно с этим более простым дисплейный контроллером 2 ведется отображение из второго буфера. Затем буфера переключаются.