Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
комп граф / КГ_2.ppt
Скачиваний:
42
Добавлен:
05.03.2016
Размер:
2.66 Mб
Скачать

Процесс преобразования информации при выполнении вывода может быть

представлен состоящим из следующих этапов:

уровень

из

1. Модельные

преобразования.

Проблемно-ориентированный

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

2.Нормализующие преобразования. Графическая система переводит описание из мировой, вообще говоря произвольной, системы координат в т.н. нормализованные координаты устройства, имеющие фиксированные пределы изменения координат, например, от 0.0 до 1.0.

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

частей изображения, то могут потребоваться такие преобразования.

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

5. Преобразование рабочей станции. Для выполнения вывода на конкретное устройство необходимо преобразование данных из аппаратно-независимой формы в координаты устройства.

Процесс преобразования информации при выполнении вывода может быть представлен состоящим из следующих этапов:

Концептуальная модель графической

Штриховые линии на нем обозначают интерфейсы, при стандартизации которых может быть обеспечена переносимость.

Верхний уровень стандартизации - IGES предназначен для обеспечения мобильности компонент САПР.

Средний уровень стандартизации - уровень базового графического пакета (GKS) определяется выбором базовых функций системы. Этот интерфейс делает базовую графическую систему независимой от области применения.

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

Многоуровневая архитектура графической подсистемы

Верхний слой – клиентские API

GDI, DirectDraw, Direct3D, OpenGL, GDI+, WPF

используются прикладными программами

находятся в адресном пространстве приложения

Средний слой – так называемый Graphics Engine (графический движок)

часть ядра ОС

содержит сотни функций, используемых верхним слоем

Нижний слой – драйвер устройства

осуществляет непосредственное взаимодействие с графическим устройством

используется средним слоем для доступа к устройству

2.3 Графические интерфейсы

Интерфейс между прикладной программой и графической системой — это множество функций, которые

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

интерфейсом прикладного программирования (API — application programmer's interface).

Модель системы прикладного программирования:

Графические интерфейсы

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

изображения.

Интерфейс прикладного программирования (англ. Application Programming Interface, API)

набор готовых констант, структур и функций, используемых при программировании

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

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

графического адаптера.

Элементарные графические

функции

В состав мощного пакета API может входить несколько сотен функций, а потому желательно сразу же разделить их на категории:

Функции описания примитивов (primitive functions) определяют объекты нижнего уровня иерархии – примитивы, - которые способна отображать графическая система. В большинстве графических API имеются такие примитивы, как точки, отрезки прямых линий, многоугольники, пиксели, текст и различного рода криволинейные отрезки и участки криволинейных поверхностей. Для описания примитива требуется определить его положение. Например, прямоугольник задается через положения его углов, а сфера определяется через положение ее центра и радиус.

Функции задания атрибутов определяют, как будут выглядеть отображаемы объекты, т.е. атрибуты определяют способ вывода объектов на экран. Функции задания атрибутов (attribute functions) позволяют прикладному программисту выполнять широкий круг операций настройки изображения – от выбора цвета до указания образца заливки внутренней области многоугольника или шрифта для надписей на графике.

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

Функции источников света. Источник света характеризуется положением, интенсивностью и цветом излучения и его направленностью. В составе большинства API имеются функции для задания такого рода параметров, причем на сцене может присутствовать несколько источников света с разными характеристиками.

Функции задания свойств материалов объектов. Определяют оптические свойства материалов поверхностей объектов.

Функции геометрических преобразований (transformation functions) позволяют выполнять различные преобразования объектов – поворот, плоскопараллельный перенос, масштабирование и т.п.

Функции ввода графической информации (input functions) позволяют создавать интерактивные приложения. Эти функции играют роль промежуточного звена между устройствами ввода, такими как клавиатура, мышь, планшеты разного рода, дигитайзеры, и прикладной программой.

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

КAPI операционных систем относятся:

POSIX

Windows API

Cocoa

Linux Kernel API

OS/2 API

Amiga ROM Kernel

Отличия в API различных операционных систем существенно затрудняют перенос приложений между платформами.

Существуют различные методы обхода этой сложности:

написание «промежуточных» API (API графических интерфейсов Qt, Gtk, и т. п.)

написание библиотек, которые отображают системные вызовы одной ОС в системные вызовы другой ОС (такие среды исполнения, как Wine, cygwin, и т. п.)

введение стандартов кодирования в языках программирования (например, стандартная библиотека языка C)

написания интерпретируемых языков, реализуемых на разных платформах (sh, python, perl, php, tcl, Java и т. д.)

Перечень API графических

интерфейсов

К API графических интерфейсов относятся:

OpenGL

OpenVG

PHIGS

VRML

JAVA-3D.

X11

Qt

GTK

Motiff

Tk

GDI

GDI+

Direct3D (часть DirectX)

DirectDraw (часть DirectX)

Zune

SDL

OpenGL

 

 

 

 

 

 

 

 

OpenGL (Open Graphics

Library)

открытая

графическая

библиотека,

графический

API) —

спецификация, определяющая независимый от языка

программирования платформонезависимый программн

ый

интерфейс для

написания

приложений,

использующих

 

двумерную

 

и

трёхмерную компьютерную графику.

 

 

 

 

 

 

 

Включает более 250 функций для рисования

сложных трёхмерных сцен из простых примитивов.

Используется

при

создании компьютерных

игр, САПР, виртуальной

реальности, визуализации

в

научных

исследованиях.

На

платформе Windows конкурирует с DirectX.

 

Соседние файлы в папке комп граф