Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


1-8 ГРАФИЧЕСКИЕ ДИСПЛЕИ С РЕГЕНЕРАЦИЕЙ ИЗОБРАЖЕНИЯ

В отличие от дисплея на запоминающей трубке в векторном (рисующем отрезки или векторы) дисплее с регенерацией изображения используется люминофор с очень коротким временем послесвечения. Такие дисплеи часто называют дисплеями с произвольным сканированием. Из-за малого времени послесвечения изображение на ЭЛТ за секунду должно многократно перерисовываться или регенерироваться. Минимальная частота регенерации должна составлять по крайней мере 30 кадров в секунду при рекомендуемой частоте от 40 до 50 кадр/с. Частота меньше, чем 30 кадр/с, приводит к мерцанию изображения, как это бывает при замедленном прокручивании кинофильма. На такое изображение неприятно смотреть, и его трудно использовать.

Для векторного дисплея с регенерацией кроме ЭЛТ требуются еще два элемента: дисплейный буфер и дисплейный контроллер. Дисплейный буфер — это участок непрерывной памяти, содержащей всю информацию, необходимую для вывода изображения на экран. Функция дисплейного контроллера состоит в циклической обработке полученной информации со скоростью регенерации. Сложность рисунка (количество изображаемых векторов) ограничивается двумя факторами—размером дисплейного буфера и скоростью дисплейного контроллера. Еще одним ограничением является скорость обработки геометрической информации, например скорость выполнения таких операций, как преобразование, отсечение и генерация текстов.

На рис. 1-18 представлены блок-схемы двух высокопроизводительных векторных дисплеев. В обоих случаях предполагается, что такие геометрические преобразования, как поворот, перенос, масштабирование, перспективное проецирование и отсечение, реализованы аппаратно в геометрическом процессоре. В первом случае (рис. 1-18а) геометрический процессор работает медленнее, чем это необходимо при регенерации применяемых на практике изображений (4000-5000 векторов). Таким образом, геометрические данные (экранные координаты векторов), посылаемые центральным процессором (ЦП) графическому дисплею, обрабатываются до сохранения в дисплейном буфере. Следовательно, в нем содержатся только те инструкции, которые необходимы генератору векторов и символов. Обычно векторы задаются экранными координатами, а контроллер читает информацию из буфера и передает ее генератору векторов и символов. При достижении конца дисплейного буфера контроллер возвращается на его начало, и цикл повторяется снова.

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

Во второй схеме (рис. 1-186) геометрический процессор работает быстрее, чем необходимо для регенерации достаточно сложных изображений. В этом случае исходная геометрическая база данных, переданная из ЦП, сохраняется непосредственно в дисплейном буфере, а векторы обычно задаются в мировых координатах в виде чисел с плавающей точкой. Дисплейный контроллер за один цикл регенерации считывает информацию из буфера, пропускает ее через геометрический процессор и передает генератору векторов. При таком способе обработки геометрические преобразования выполняются «на лету» за один цикл регенерации.

Рис. 1-18 Концептуальные блок-схемы векторных дисплеев с регенерацией изображения.

Рис. 1-19 Динамическое движение.

Рис. 1-20 Сегментация дисплейного буфера.

При использовании любой конфигурации в дисплейном буфере содержатся команды рисования каждого вектора, символа и подкартинки. Следовательно, любой конкретный элемент изображения может быть изменен независимо от другого. Эта особенность вместе с малым временем послесвечения люминофора ЭЛТ позволяет выводить динамические изображения, что и показано на рис. 1.19, на котором представлена последовательность из четырех циклов. Отрезок, изображенный сплошной линией, — это отрезок, рисуемый для текущего цикла, штриховой линией изображен отрезок из предыдущего цикла. Между двумя циклами регенерации происходит изменение координат конца отрезка — точки В. Создается впечатление, что отрезок вращается вокруг точки А.

В большинстве случаев лишь часть изображения является динамически изменяемой. В действительности основная часть картинки остается статичной. Такое разделение наводит на мысль о необходимости сегментации дисплейного буфера, которая показана на рис. 1-20. Неподвижны, т. е. не изменяются от одного цикла регенерации к другому: горизонтальный отрезок, заштрихованная часть и буква А, используемые для показа опоры отрезка АВ. В то же время для получения динамического изображения меняются положения конца отрезка АВ и буквы В. Эти изолированные части базы данных помещены в отдельные сегменты дисплейного буфера. Для конфигурации, показанной на рис. 1-18а, геометрический процессор может пропускать статический сегмент в дисплейном буфере, так как он не изменяется, и это существенно сокращает работу процессора при изменении рисунка. В данном случае можно модифицировать изображение только в динамическом сегменте. Еще одним достоинством подобного метода является сокращение общего количества данных, передаваемых из ЦП в геометрический процессор при каждом изменении изображения.

Для конфигурации, представленной на рис. 1-18b, возможны разные типы сегментации. Напомним, что для данного случая база данных изображения сохраняется в дисплейном буфере в виде мировых координат, а обработка изображения происходит «на лету», за каждый цикл регенерации. Для картинки, показанной на рис. 1-20, в дисплейном буфере создаются два сегмента — статический и динамический. В любом случае обработка совершается мгновенно. Информацию в динамическом сегменте можно изменить с помощью функций, предоставляемых геометрическим процессором. Таким образом, модификация изображения может происходить локально в графическом устройстве, а для этого не требуется связь с ЦП. В конкретном случае на рис. 1-20 единственной функцией, необходимой для локального динамического изменения, является поворот вокруг точки А.

Рис. 1-21 Интеллектуальная сегментация дисплейного буфера.

Для динамического изменения применительно к рис. 1-21 требуется связь с ЦП, т. е. необходимо некоторое интеллектуальное изменение изображения. Снова создаются два сегмента: статический, содержащий опорную линию, заштрихованную часть и букву А, и динамический, состоящий из кривой АВ и буквы В. Предположим, что форма кривой АВ должна изменяться от одного цикла регенерации к другому в зависимости от физических факторов. Это изменение выполняет прикладная программа в ЦП. Для модификации сегмента с динамически изменяющимся изображением должны быть переданы и сохранены в дисплейном буфере новые данные, например форма кривой.

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

Чтобы показать, насколько важна скорость передачи или ширина полосы канала связи между ЦП и графическим устройством, рассмотрим затраты на интеллектуальное изменение кривой, описываемой 250 отрезками или точками, заданными тремя координатами. Пусть для представления чисел с плавающей точкой используются шесть значащих цифр (литер), и пусть каждая литера задается одним байтом (8 бит). Тогда при скорости регенерации 30 кадр/с и при уcловии, что модификация производится в каждом цикле, требуемая ширина полосы связи составит

30[(кол-во точек)(кол-во коорд./точку)(кол-во знач. цифр/точку)(кол-во бит / литера)]

или 30(250)(3)(6)(8) = 1080 000 бит/с

Рис. 1-22 Векторный дисплей с регенерацией изображения. (С разрешения фирмы Evans к. Sutherland Computer Corp.)

Таким образом, необходимая скорость передачи данных может легко превысить 1 Мбит/с. Для сложных трехмерных скульптурных поверхностей требуемая ширина полосы может возрасти в 10 раз, т.е. достигнуть 10 Мбит/с. В большинстве случаев для поддержки динамической графики в реальном масштабе времени такие скорости требуют применения между ЦП и графическим устройством параллельного интерфейса или интерфейса с прямым доступом в память.

 



<< ПредыдущаяОглавлениеСледующая >>