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

OpenGL

1992 г. – разработана первая версия пакета OpenGL (Open Graphics Library - открытая графическая библиотека) как аппаратно-независимая версия пакета GL. Разработчиками OpenGL являются крупнейшие фирмы-разработчики как оборудования, так и программного обеспечения: Silicon Graphics, Inc., Microsoft, IBM Corporation, Sun Microsystems, Inc., Digital Equipment Corporation (DEC), Evans & Sutherland, Hewlett-Packard Corporation, Intel Corporation и Intergraph Corporation.

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

Программы, написанные с помощью OpenGL, можно переносить практически на любые аппаратные (персональный компьютер, графическая станция или суперкомпьютер) и программные платформы (Unix, Linux, SunOS, IRIX, Windows, MacOS, PlayStation3, Google Android и другие), получая при этом одинаковый результат.

Существуют привязки пакета OpenGL к языкам C(C++), Ada и Fortran.

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

Вспомогательные библиотеки, расширяющие возможности стандартной библиотеки OpenGL:

GLU (Graphics Utility Library) - библиотека графических утилит , которая включает функции формирования часто встречающихся сложных объектов (цилиндрических форм, сферических объектов, криволинейных поверхностей).

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

Стандарт OpenGL поддерживает функциональный интерфейс.

Open Inventor – объектно-ориентированная библиотека классов для описания сцен, которые нужно изобразить с помощью функций OpenGL.

DirectX (от англ. direct —

прямо,

напрямую)

это набор API,

разработанных

для решения задач,

связанных

с

программированием

под Microsoft

Windows. Наиболее широко используется при

написании компьютерных игр. Пакет средств

разработки

DirectX под Microsoft Windows бесплатно

доступен на

сайте Microsoft. Зачастую

обновленные

DirectX

 

 

 

версии DirectX поставляются вместе с игровыми

приложениями.

DirectX

1995 г. - компания Microsoft представила первую версию библиотеки DirectX (тогда она называлась Game SDK). Все права на доработку/изменение DirectX принадлежат Microsoft.

DirectX предназначен только для платформ под управлением ОС Windows.

Стандарт DirectX основан на выборе интерфейсов Component Object Model (компонентная модель объектов), а объекты COM могут описываться практически любыми языками программирования, например C/C++, Delphi и даже Basic.

Стандарт DirectX включает в себя модули поддержки:

программирования двухмерной графики (модуль DirectDraw);

создания трехмерной графики (модуль Direct3D);

работы со звуками и музыкой (модули DirectSound и DirectMusic);

поддержки устройств ввода (модуль DirectInput);

разработки сетевых игр (модуль DirectPlay);

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

при разработке графических интерфейсов операционной системы Windows

разработчиками игр

GDI

GDI (Graphics Device Interface) графические функции из состава API Windows для аппаратно- независимого программирования различных графических устройств видеоадаптеров, принтеров.

Изначально разработана для Windows 3.1

16-битное графическое ядро по наследству перешло и в Windows 95/98

в Windows NT/2000+ используется 32-битное графическое ядро, предоставляющее больше возможностей

GDI+ - это новое графическое API, появившееся в Windows XP/2003 Server

Объектно-ориентированный интерфейс предоставленный в виде набора C++ классов

Достоинства и недостатки GDI

Достоинства:

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

Данная особенность сделала GDI основным инструментом программирования пользовательского интерфейса Windows

Недостатки:

Огромное количество функций усложняет изучение данного API

Отсутствие сглаживания векторных примитивов, растровых изображений и шрифтов

Слабые возможности по работе с полупрозрачными изображениями

Отсутствие поддержки изображений в формате, отличном от BMP и WMF/EMF

Управление ресурсами целиком возложено на программиста, а не на библиотеку

За универсальность пришлось заплатить низким быстродействием, что сделало GDI малопригодным для динамических приложений

Что такое GDI+

Объектно-ориентированная библиотека для вывода графики

Представлена в виде нескольких десятков классов на С++

появилась начиная с Windows XP

доступна в виде redistributable packages для Windows 98/ME/NT4/2000

Область применения GDI+

Двумерная векторная графика

Обработка растровых изображений

Вывод текстов

Достоинства и недостатки GDI+

Достоинстваулучшены возможности по работе с текстом,

векторной и растровой графикой

вместо сотен функций GDI+ предоставляет несколько десятков хорошо спроектированных C++ классов

большая часть работы по управлению ресурсами возложена на библиотеку и компилятор

разработчики рекомендуют использовать GDI+ вместо GDI в новых программах

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

универсальность и в этот раз делает GDI+ малопригодной для создания динамических приложений

Графические объекты GDI+

Используется контекст графического устройства. Это понятие введено для описания того, гдк будет рисоваться изображение.

Для отображения графики и текста GDI использует следующие графические объекты:

Bitmap – растровое изображение;

Brush – кисть;

Font – шрифт;

Metafile – метафайл;

Path – путь;

Pen – перо;

Region – регион.

Графические файловые

форматы

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

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

По типу хранимой графической информации:растровые (TIFF, GIF, BMP, JPEG);векторные (AI, CDR, FH7, DXF);смешанные/универсальные (EPS, PDF).

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