![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Тема № 4. Графические стандарты
При изучении данной темы рассматриваются следующие вопросы:
Стандартизация в машинной графике направлена на обеспечение мобильности и переносимости прикладных программ, унификацию взаимодействия с графическим устройствами и обеспечение возможности обмена графической информацией между различными подсистемами. Использование стандартов позволяет сократить сроки разработки графических систем и увеличить их жизненный цикл. Сегодня в практике использования средств МГ применяется большое количество стандартов, различающихся по назначению и функциональным возможностям. Они имеют разную степень официальности - от фактических до международных стандартов. В статье производится попытка классификации графических стандартов и сравнения их функциональных возможностей. Отправной точкой в работах по стандартизации графических средств следует считать 1976 год. Именно тогда во французском городе Сейлак собралось первое совещание по обсуждению графических стандартов. С этого момента графическими стандартами занимаются в различных национальных и международных организациях по стандартизации, связанных с использованием компьютеров: ISO, ANSI, NBS, DIN, ANFOR, ЕСМА и др. Кроме того, большое влияние на стандартизацию оказывают крупнейшие фирмы производители аппаратуры и программного обеспечения. С 1987 года деятельность по графическим стандартам возглавляет и координирует 24-й подкомитет первого объединенного технического комитета - ISO/IEC JTC1/SC24. Эволюция графических стандартов естественно отражает процесс развития средств МГ - от векторной графики до систем виртуальной реальности. Перечислим проекты, оставившие наиболее заметный след в двадцатилетней истории графических стандартов: Соге - Core Graphics System GKS - Graphical Kernel System MGKS - Minimal GKS GKS-N - New Graphical Kernel System CKS-3D - 3D Graphical Kernel System PHIGS P - rogrammer's Hierarchical Interactive Graphics System VDI - Virtual Device Interface CGI - Computer Graphics Interface PS - Adobe Systems PostScript Language DPS - Adobe Systems Display Postscript System NeWS - SUN Microsystems Network Extensible Window System Х Window - MIT Х Window System Windows - Microsoft Windows System XGKS - Х+ GKS РЕХ - PHIGS+ Х OpenGL - SGI Graphical Language Классификация В основе разработки графических стандартов лежит принцип виртуальных ресурсов, позволяющий разделить графическую систему на несколько слоев - прикладной, базисный и аппаратно-зависимый. При этом каждый слой является виртуальным ресурсом для верхних слоев и может использовать возможности нижних слоев с помощью стандартизованных программных интерфейсов. Кроме того, графические системы могут обмениваться информацией с другими системами или подсистемами с помощью стандартизованных файлов или протоколов. В соответствии с этими соображениями первоначально были выделены три основных направления стандартизации - базисные графические системы, интерфейсы виртуального устройства, форматы обмена графическими данными. Стандартизация базисных графических систем направлена на обеспечение мобильности прикладных программ и основана на концепции ядра, содержащего универсальный набор графических функций, общих для большинства применений. Наиболее известными проектами по стандартизации базисных систем являются Core System, GKS, GKS-3D, PHIGS, PHIGS+. Основное направление развития этих проектов заключалось в усилении изобразительных возможностей для визуализации геометрических объектов (2D, 3D, удаление скрытых линий и граней, полутоновая закраска, текстурирование и пр.). Стандарт на базисную графическую систему включает в себя функциональное описание и спецификации графических функций для различных языков программирования. Сл 6: Концепция виртуального устройства начала разрабатываться с момента появления аппаратно-независимых графических систем. Интерфейс виртуального устройства разделяет аппаратно-зависимую и аппаратно-независимую части графической системы. Он обеспечивает заменяемость графических устройств (терминальную независимость), а также возможность работы с несколькими устройствами одновременно. Интерфейс виртуального устройства может существовать в форме программного интерфейса и/или протокола взаимодействия двух частей графической системы. Наиболее четко концепция виртуального устройства представлена в проекте CGI. Развитие этой концепции совпало с активным перемещением графических средств на персональные компьютеры и графические станции. При этом основными интерактивными устройствами стали растровые дисплеи, а устройствами для получения твердых копий - растровые принтеры. Это привело к необходимости выделения отдельного набора растровых функций, позволяющих использовать функциональные возможности растровых устройств. Сл 7: Дальнейшее развитие растровых функций связано с появлением многооконных графических систем Х Window и MS Windows (а также NeWS и Display Postscript), обеспечивших удобные средства для манипулирования растровыми изображениями. Эти средства явились основой для развития систем обработки изображений и для организации эффективного многооконного пользовательского интерфейса с использованием меню, диалоговых панелей, полос просмотра и пр. Отметим, что традиционные средства вывода геометрических примитивов (линий, дуг, многоугольников) и текстов также имеются в этих системах. Сегодня, наиболее развитые проекты РЕХ и OpenGL неплохо совмещают основные достижения как геометрического, так и растрового направления. Сл 8:Графические системы класса 2D GKS - стандарт ISO на базисную графическую систему. Впервые опубликован в 1982 году. Принят в качестве международного стандарта в 1985 году. Разработаны спецификации GKS для языков С, Fortran, Pascal, Ada. В соответствии или с учетом стандарта GKS разработано большое количество графических систем, например GKS-3D и PHIGS. - Функции управления обеспечивают работу с несколькими логическими рабочими станциями ввода/вывода. Одной из категорий рабочих станций является метафайл. Поддерживается таблица состояния системы, а также таблицы конфигурации и состояния рабочих станций. Имеется более 100 функций опроса возможностей и текущего состояния системы. - Функции вывода поддерживают шесть примитивов - ломаная линия, набор маркеров, заполненная область, текст, массив ячеек и обобщенный графический примитив. Более 30 функций управления атрибутами (линий, маркеров, заполнения и текста) обеспечивают индивидуальное изменение атрибутов и объединение их в группы, связанные с рабочими станциями. Преобразование координат двухступенчатое - нормализация и преобразование рабочей станции. - Поддерживается сегментация. Атрибуты сегментов - видимость, выделенность, приоритет, преобразование. Сегменты могут копироваться на рабочую станцию, удаляться, включаться в другие сегменты. - Растровые функции отсутствуют. Используемая цветовая модель - индексированная таблица RGB (Red-Green-Blue). - Функции ввода поддерживают логические устройства ввода координат, линий, чисел, текстовых строк, а также устройства выбора и указания. Устройства ввода могут работать в режимах запроса, опроса и обработки событий. Сл 9: MGKS или MiniGKS - сокращенные варианты GKS без сегментации и с минимальным количеством функций опроса. Эти проекты прошли мимо внимания разработчиков стандартов, но были поддержаны многими разработчиками конкретных графических систем. GKS-N или New GKS, проект обсуждавшийся в ISO (1989 год) направлен на улучшение функциональных характеристик GKS. Заметно явное влияние проекта CGI. Последующих публикаций не было. Сл 10: PostScript (Adobe Systems, 1985) - язык описания страниц для растровых печатающих устройств. Отличительная особенность - широкие изобразительные возможности при минимальном наборе графических функций. Множество графических систем и настольных издательских систем поддерживают PostScript. Некоторые производители лазерных принтеров обеспечивают его аппаратную поддержку. PostScript использован для выполнения графических функций в многооконных системах NeWS и Display PostScript. Привлекательные свойства этого языка способствовали появлению его трехмерных расширений. Широкие изобразительные возможности языка PostScript обеспечены понятием траектории (path), которая может быть составлена из линий, дуг, сегментов кривой Безье и текстовых символов. В процессе вывода траектории могут подвергаться произвольным линейным преобразованиям. Замкнутые траектории могут быть закрашены, заполнены растровым образцом (pixmap) или заштрихованы другими траекториями. Заполнение может производится по различным правилам (even-осЫ, nonzero-winding-number). Линии могут быть различного типа, переменной толщины и иметь скругления в точках соединения. Работа с текстами происходит на основе богатой библиотеки шрифтов. Поддерживается несколько цветовых моделей - RGB, CMY (CyanMagenta- Yellow) и HSV (Hue-Saturation-Value). Сл 11: CGI - проект стандарта (ISO, 1986) на интерфейс виртуального устройства. На стадии обсуждения этот проект фигурировал в публикациях под названием VDI. CGI ориентирован не на прикладных, а на системных программистов, занимающихся разработкой графических систем. Функциональные возможности CGI сформированы с учетом разработанных ранее проектов GKS и CGM (Computer Graphics Metafile). Заметно влияние проектов PostScript и Х Window System. - Функции вывода поддерживают работу с линиями, многоугольниками, прямоугольниками, маркерами, текстами, дугами, секторами и сегментами круга и эллипса, а также замкнутыми фигурами, составленными из этих примитивов. Замкнутые объекты могут закрашиваться, заштриховываться или заполняться растровым образцом. Набор атрибутов CGI аналогичен набору атрибутов GKS. Конвейер преобразования ограничен преобразованием рабочей станции. - Функции сегментации аналогичны имеющимся в GKS. - Растровые функции поддерживают работу с отображаемыми и виртуальными битовыми картами. Первые являются частью видеопамяти устройства. Вторые могут быть полноцветными или двухцветными матрицами пикселов в неотображаемой памяти. Двухцветные виртуальные битовые карты могут служить в качестве маски для операции заполнения областей, а также для задания символов, маркеров, курсоров и пр. Атрибутами карт являются прозрачность, основной и фоновый цвет. Введены различные режимы наложения цветов при выводе пикселов (and, or, xor,...). - Функции ввода аналогичны имеющимся в GKS с некоторыми дополнениями. Введено понятие триггера, позволяющего установить режим срабатывания отдельных устройств в зависимости от некоторого события. Более четко, определены понятия подсказки, эха и подтверждения. Введены два новых логических устройства ввода - растровая область и обобщенное устройство ввода. Сл 12: Х Window System - многооконная графическая система, разработанная в Массачусетском Технологическом институте. Первые публикации появились в 1986 году. Одна из основных целей разработки - обеспечение сетевой прозрачности и возможности использования широкого спектра цветных и монохромных графических станций. - Система разделена на две части, клиент и сервер, взаимодействующие с помощью Х-протокола. Прикладному программисту предоставлена библиотека базисных функций Х Lib и надстроенная над ней библиотека инструментальных средств Х Toolkit. Функции управления обеспечивают возможность манипулирования системой окон и контроля за действиями пользователя. Параметры графических функций включают в себя идентификаторы дисплея и окна, а также графический контекст, содержащий значения атрибутов и другие параметры отображения. - Функции вывода обеспечивают изображение точек, линий, дуг, окружностей, прямоугольников, а также заполнение многоугольников, секторов, сегментов и прямоугольников. Аналогично языку PostScript имеются атрибуты, определяющие способ скругления ломаных линий и правило заполнения. Функции вывода текстов поддерживаются богатой библиотекой шрифтов. Конвейер преобразования координат отсутствует. - Структуризация или сегментация данных не поддерживается. - Растровые функции обеспечивают широкие возможности для манипулирования с битовыми и пиксельными матрицами (Bitmap, Pixmap). Кроме того, пиксельные матрицы могут использоваться в качестве образца заполнения, а битовые - в качестве маски отсечения. Используемая цветовая модель - RGB. - Функции ввода на базисном уровне обеспечивают развитый механизм обработки событий, от мыши и клавиатуры. Функции более высокого уровня (Х Toolkit и библиотека виджетов) обеспечивают работу с меню, диалоговыми панелями, полосами просмотра и пр. Сл 13: Microsoft Windows - многооконная надстройка над операционной системой MS DOS на IBM РС. Версия Windows NT трансформировалась в полноценную операционную систему. Обеспечивает многозадачный режим. Графические функции системы аналогичны имеющимся в Х Window, однако в параметрах функций нет идентификатора дисплея. Поддерживается метафайл. NeWs (Sun Microsystems, 1987) и Display Postscript (Adobe Systems,1990) - многооконные графические системы, в основе которых лежит PostScript. Обладают эффективными графическими возможностями, унаследованными от языка PostScript. В системе NeWS появились 3D траектории. Сл 14: Графические системы класса 3D Core System - первый проект (ANSI) по стандартизации базисной графической сиетемы. Функциональное описание было опубликовано в 1977 году. На этот проект были замкнуты усилия многих разработчиков графических средств в течение последующих 5 лет. Построен на концепции рисующего элемента (2D и 3D) и обеспечивает работу только с линиями, маркерами и текстами. Для управлениями параметрами проектирования используется аналогия с камерой. Поддерживается сегментация. После появления стандартов GKS-3D и PHIGS проект Core System потерял свою актуальность. Сл 15: GKS-3D - расширенный вариант GKS (ISO, 1987), позволяющий работать с трехмерными графическими объектами. В этот проект включены следующие дополнительные (по отношению к GKS) возможности: - Функции вывода дополнены семью 3D-примитивами - те же, что в GKS с приставкой 3D и набор заполняемых областей 3D. Для последнего примитива введены атрибуты контура, аналогичные атрибутам линий. Введен атрибут для управления алгоритмами удаления скрытых линий и граней. Введены 3D-преобразования 3D-нормализация, видовое преобразование, 3D-преобразование рабочей станции. Видовое преобразование позволяет производить параллельное и центральное проецирование. - Функции сегментации расширены возможностью работы с 3D-сегментами. Введено преобразование 3D-сегментов. - Функции ввода дополнены двумя логическими устройствами для ввода координат 3D и линий 3D. XGKS, GEX - проекты объединения систем Х Window и GKS/GKS-3D. Обсуждались в литературе по стандартизации, но не получили дальнейшего развития. Сл 16: PHIGS - альтернативный по отношению к GKS-3D стандарт (ANSI-1986, ISO-1989), обеспечивающий возможность интерактивных манипуляций с иерархически структурированными графическими объектами. Получил дальнейшее развитие в проектах PHIGS+ и РЕХ. Сравнительные с GKS-3D характеристики следующие: - Набор примитивов и атрибутов аналогичен имеющимся в GKS-3D. Поддерживается несколько цветовых моделей - RGB, CIE (Commission Internationale de l'Eclairage), HSV (Hue-Saturation-Value), HLS (Hue-Lightness-Saturation). Вместо 3D преобразования нормализации введено модельное преобразование. - Вместо сегментов введены иерархические структуры данных. Структуры могут включать в себя примитивы, атрибуты, преобразования, неграфические данные, а также ссылки на другие структуры. Средства редактирования позволяют удалять и копировать элементы структур. Включен механизм фильтрации, осуществляющий выборочное отображение элементов, их выделение и пр. Сл 17: PHIGS+(или PHIGS-PLUS) - проект расширения PHIGS (ISO/ANSI Draft 1990), направленный на обеспечение основных требований прикладных программ в области - освещения, полутоновой закраски и эффективного описания сложных поверхностей. Для этих целей в PHIGS+ включен следующий набор примитивов: - набор полилиний с данными, - кривая нерационального В-сплайна, - кривая нерационального В-сплайна с данными, - полигональная область с данными, набор полигональных областей с данными, - набор треугольников с данными, - полоса треугольников с данными, набор четырехугольных ячеек с данными, - поверхность нерационального В-сплайна, - поверхность нерационального В-сплайна с данными. Примитивы, имеющие суффикс "с данными" позволяют включить дополнительную информацию, являющуюся частью определения примитива. Например, в случае набора треугольников для каждой грани и/или вершины можно задать комбинации цвета, нормаль и прикладные данные. Далее, существует механизм управления, позволяющий определить, какие данные следует использовать, а какие пропустить во время отображения. PHIGS+ различает переднюю и заднюю поверхности грани на основе геометрической нормали. Различные значения цвета и другие атрибуты могут быть определены для передней и задней граней. Для вычисления освещенности кроме геометрических характеристик задаются отражательные свойства поверхности, а также расположение источников цвета и их характеристики. Сл18: РЕХ (MIT Х Consortium) - проект расширения системы Х Window для поддержки PHIGS+. Первоначальная версия XPHIGS 1.0 - 1987 год, последняя версия PEX 6.0 - 1992 год. Одна из двух систем (другая - OpenGL), обеспечивающих наиболее развитые на сегодняшний день инструментальные средства для построения реалистичных изображений. Суть проекта РЕХ состоит в описании механизма расширения Х-протокола и Х-сервера для обеспечения функций PHIGS+, что, в первую очередь, предназначено для системных программистов. С точки зрения прикладного программиста функциональные возможности РЕХ в части изображения пространственных объектов соответствуют системе PHIGS+. Однако, начиная с версии 5.2 в РЕХ появились новые возможности, обеспечивающие устранение ступенчатости (antialiasing) и текстурирование поверхностей. Средства работы с растровыми изображениями поддерживаются с помощью Х Window и дополнительных расширений. Сл 19: OpenGL - стандарт, предложенный компанией Silicon Graphics в 1993 году, регламентирующий интерфейс прикладного программиста. Предшественником этого проекта является IRIS GL (SGI 1988 г.). Изначально ориентирован на работу в системе Х Window. О поддержке OpenGL сообщали почти все ведущие фирмы-производители, в частности ОС Windows NT имеет этот стандарт в своем комплекте. По функциональным возможностям OpenGL примерно соответствует системе РЕХ последних версий, но несколько отличается по стилю программирования. Кроме того, в отличие от РЕХ, имеет собственные развитые средства для работы с растровыми изображениями.
Дата добавления: 2014-01-11; Просмотров: 3261; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |