- •Компьютерная
- •2.1 Графическая система
- •Структура графической системы
- •Устройства ввода
- •Устройства вывода изображений
- •Принцип работы ЖКД
- •Принцип работы ЖКД
- •Структура видеоадаптера
- •Буфер кадра
- •Буфер кадра
- •Пиксель (англ. Pixel – PICture’S Element) - это мельчайшая единица изображения в растровой
- •Основные характеристики
- •Разрешение
- •Разрешение оригинала
- •Разрешение экранного
- •Разрешение печатного
- •Разрешение различных
- •Глубина цвета
- •2.2 Стандарты компьютерной
- •Структура прикладной графической системы
- •Процесс преобразования информации при выполнении вывода может быть
- •Процесс преобразования информации при выполнении вывода может быть представлен состоящим из следующих этапов:
- •Концептуальная модель графической
- •Многоуровневая архитектура графической подсистемы
- •2.3 Графические интерфейсы
- •Графические интерфейсы
- •Элементарные графические
- •КAPI операционных систем относятся:
- •Перечень API графических
- •OpenGL
- •OpenGL
- •DirectX (от англ. direct —
- •DirectX
- •Достоинства и недостатки GDI
- •Графические файловые
- •Форматов графических файлов существует великое множество и выбор приемлемого отнюдь не является тривиальной
- •Векторные форматы
- •TIFF - популярный формат для хранения изображений с большой глубиной цвета.
- •Графические форматы
Процесс преобразования информации при выполнении вывода может быть
представлен состоящим из следующих этапов: |
уровень |
из |
||
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. |
|