double arrow

Core-System


Существенным этапом в области стандартизации машинной графики явилась публикация проекта стандарта CORE-SYSTEM (GSPC-77) , модель которой приведена на рис. 7.5. Главные идеи, положенные в основу системы CORE : разделение функций ввода и вывода; минимизация отличий между выводом на графопостроитель и интерактивный дисплей; концепция двух координатных систем - мировой системы координат, в которой конструируется выдаваемое изображение, и приборной системы координат, в которой представляются данные для отображения; концепция дисплейного файла, содержащего приборную координатную информацию; понятие дисплейного файла сегментов, каждый из которых может независимо модифицироваться как элемент; обеспечение функций преобразования данных из мировой системы координат в приборную путем вызова видового преобразования.

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




В 1979 г. был опубликован уточненный проект стандарта CORE-SYSTEM (GSPC-79) . Кроме прочих изменений, в этой версии предусмотрена (весьма ограниченно) поддержка растровых устройств. Всего предлагалось 266 функций, так что охватывался широкий спектр применения машинной графики, начиная от пассивного вывода до интерактивных систем высокого уровня.


Рис. 7.5. Модель графической системы, положенная в основу CORE-SYSTEM

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

Группа уровней вывода включает в себя:

· базовый вывод, поддерживающий полный набор примитивов вывода, их атрибутов и операций визуализации и предназначенный для приложений, не требующих выборочного редактирования изображений;

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

Группа уровней ввода включает:

· без ввода, т.е. применяется для пассивных приложений;

· синхронный ввод - ввод производится синхронно с работой прикладной программы, т.е. ее исполнение приостанавливается до завершения ввода;

· асинхронный ввод - ввод производится независимо от работы прикладной программы, а вводимые оператором данные накапливаются в обрабатываемой прикладной программой очереди ввода.

На последних двух уровнях поддерживаются виртуальные устройства ввода классов ЛОКАТОР, ШТРИХ, ДАТЧИК, ВЫБОР, УКАЗКА и КЛАВИАТУРА.

Группа уровней размерности включает:
· 2D - поддерживаются только 2D операции;
· 3D - дополнительно к 2D поддерживаются и 3D операции.

Предложения GSPC получили широкий отклик в виде многочисленных реализаций версий базовой системы.







Сейчас читают про: