Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по кг2 2009.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.05 Mб
Скачать

Способы вывода изображения в Windows.

Общая схема:

HEL – слой эмулированной аппаратуры

HAL – слой абстрактной аппаратуры

GDI – интерфейс графического устройства (традиционный путь рисования)

GDI – набор подпрограмм для взаимодействия с растровыми графическими устройствами.

Программа взаимодействует с окном на экране, окно имеет контекст, в контексте окна определены шрифт, перо, кисть.

Перед началом рисования программа должна «захватить» контекст и установить значение для кисти, пера, шрифта. После этого методом вызова процедур GDI происходит рисование. После контекст освобождается.

GDI –механизм аппаратно независимый. Он опирается на DIB – устройства битовой карты, DIB – драйвер обобщенного оастрового устройства, драйвер на аппаратном уровне реализует свойства.

Недостаток: программист отделен от аппаратуры, огромное количество условностей и ограничений  скорость вывода изображения существенно ограничена.

Альтернативный путь – библиотека Direct x – набор библиотек, предназначенная для осуществления быстрого доступа к аппаратным ресурсам компьютера для приложений типа игр и т.д.

В состав Direct x входят следующие элементы: Direct Draw – библиотека для прямого доступа к видеоадаптеру; Direct 3D – библиотека для вывода и обработки 3-х мерных изображений.

Direct Sound – библиотека для доступа к звуковой аппаратуре.

Direct Play – библиотека для доступа к игровым устройствам

Direct Setup – набор средств для настройки элементов операционной системы.

Open Gl – процедурный графический язык, является универсальным, реализован на разных платформах.

HAL – Hardware Abstraction Layer – слой абстрактной аппаратуры.

Direct x построен на основе СОМ – модели. СОМ – компонент ???? модель

В СОМ-модели функции ОС производятся СОМ-серверами. Сервер предоставляет пользователю набор интерфейсов. Интерфейс – есть совокупность функций. Интерфейс напоминает понятие метода, список методов, которые выполняет сервер.

Интерфейсы наследуются друг от друга. Самый простой интерфейс – базовый Iun Known. Он содержит несколько методов: может добавлять к себе ссылку – регистрировать нового клиента; освобождать ссылку и метод Query Interface, с помощью которого можно запрашивать поддерживает ли сервер некий интерфейс. Интерфейс описывается GUID – глобальным уникальным идентификатором, который отличает один интерфейс от другого.

HAL представляет собой некую абстрактную обобщенную видеокарту. Этот слой предоставляет адрес к видеокарте. С точки зрения этого слоя видеокарта – непрерывная последовательность видеопамяти.

HEL – Hardware Emulation Layer – выполняет функции, которые аппаратно не способна выполнять видеокарта, например, некоторые карты поддерживают аппаратный блитинг (перенос), если карта не может, то это делает HEL.

С точки зрения пространства он представляет собой следующее: пр-ст взаимодействует с поверхностью Surfase, поверхность – область видеопамяти, поверхность может занимать всю видеопамять, часть видеопамяти:

Спрайт – некий элементарный самостоятельный элемент изображения.

Политра – если формат пикселов на поверхности 1, 4 или 8 бит, то используется политра: значение пиксела в видеопамяти не определяет цвет, а служит для выбора одного из элементов политры. Элемент политры содержит RGB – код цвета, каждой поверхности, своя политра или одна политра на все поверхности.

Само по себе изображение может быть полноэкранным или оконным, если оконное, то политру нужно делить с GDI. GDI резервирует 20 элементов политры, 236 для программиста остается.

Если режим полноэкранный, то ограничений нет.

Если оконный режим, то с поверхностью связана ограничивающая структура Direct Draw Clipper – отсекает элементы изображения, которые не покидают окно.

Если полноэкранный режим, то чтобы совместить с работой GDI, формируется окно, которое имеет размер экрана и расположен поверх всех окон.

Чтобы вывести с помощью GDI надпись, Direct Draw позволяет связать поверхность с контекстом окна.

Direct 3D – есть набор интерфейсов для формирования 3-мерных изображений.

Direct 3D:

Изображение формируется на основе совокупности примитивов. Примитивы помещаются в буфер выполнения, перед тем как формируется изображение.

Ракурс – описание масштаба, вида проекции, направление проецирования и т.д.

Свет – описание источников света и их параметров.

Материал – материал объекта и его отражающие свойства.

Машина Direct 3D

с остоит из:

Буфер выполнения, его структура: Команда представляет из себя следующее:

Команда

обработ. вершин

Список вершин

Матричное произведение

Команда материала

Треугольник

Треугольник

Треугольник