- •Содержание
- •Предисловие
- •1.Основные понятия компьютерной графики
- •2.История компьютерной графики
- •3.Аппаратное обеспечение компьютерной графики
- •3.1.Устройства вывода. Экраны
- •3.2.Устройства вывода твердых копий
- •3.3.Устройства ввода. Сканеры
- •3.4.Устройства ввода. Цифровые фотоаппараты
- •3.5.Устройства координатного ввода
- •4.Свойства растровых изображений
- •4.1.Форматы хранения растровых изображений
- •4.2.Цветовые модели растровых изображений
- •5.Аффинные преобразования на плоскости
- •5.1.Понятие однородных координат
- •5.2.Однородные координаты и преобразования в пространстве
- •6.Моделирование поверхностей
- •7.Основы твердотельного моделирования
- •7.1.Методы построения 3d тел
- •7.2.Анализ твердотельных моделей
- •8.Визуализация 3d моделей
- •7Рис. 8.59 – Тор (а), параллельная (б) и центральная (в) проекции его линий очерка.
- •9.Программные технологии 3d графики
- •9.2.Интерфейс 3d api
- •9.3.Библиотека DirectX
- •9.4.Графический ускоритель
- •9.5.3D акселерация
- •10.Растровые алгоритмы
- •10.1.Удаление скрытых линий
- •11.Рендеринг
- •12.Компьютерная анимация
- •13.Предметный указатель
- •14.Список литературы
9.3.Библиотека DirectX
Используя DirectX, разработчики могут использовать аппаратно независимый интерфейс программирования, с помощью которого создаются новые игры, для участия в которых, пользователю достаточно лишь вставить в устройство чтения компакт диск с данными и наслаждаться игрой. Теперь писать игры и играть в них стало гораздо приятнее.
DirectX представляет собой набор из нескольких API (application programming interface - интерфейс программирования приложений), позволяющих разработчикам игр и других интерактивных приложений получать доступ к специфическим функциям аппаратного обеспечения, без необходимости написания аппаратно-зависимого программного кода. DirectX основан на наборе интерфейсов COM или классов. COM расшифровывается, как Component Object Model (Компонентная Модель Объектов), и представляет собой спецификацию интерфейса, в котором функции вызываются через указатели. Таким образом, объекты COM могут описываться такими языками программирования, как C/C++, Delphi или даже Basic. Интерфейс COM используется не только в DirectX, но и на уровне операционной системы в качестве модели объектов и является сердцем одной из самой широко применяемой технологии - OLE (Objects Linking and Embedding - связывание и встраивание объектов).
Текущая версия DirectX включает в себя следующие API:
DirectDraw - Обеспечивает доступ к аппаратным средствам, отвечающих за изображение. Предлагается возможность работать с двумерной графикой и напрямую управлять видеопамятью, оверлеями и сменой видеостраниц.
DirectSound - Как видно из названия, этот компонент обеспечивает аппаратнонезависимый интерфейс воспроизведения звука. DirectSound позволяет приложениям полностью использовать возможности аппаратных компонентов, обеспечивающих работу со звуком, например, микширование без временных задержек.
DirectInput - Обеспечивает аппаратнонезависимый ввод данных в систему в режиме реального времени. События, обрабатываемые DirectInput, формируются Клавиатурой, Мышкой и Джойстиком.
DirectPlay - Представляет собой независимый протокол для осуществления связи между компьютерами. Может применяться для многопользовательских игр, связь в которых осуществляется через Интернет, локальную сеть или прямое последовательное соединение с помощью кабеля. Интерфейс, именуемый DirectPlay Lobby, позволяет создавать онлайновые места встреч в интернет, попадая в которые, множество людей могут объединяться и совместно участвовать в играх.
Direct3D - Эта подсистема создания трехмерных графических изображений. Состоит из API низкого уровня, который обеспечивает несколько базовых возможностей создания изображения, и API высокого уровня, который осуществляет комплекс операций, образующих изображение.
9.4.Графический ускоритель
Рынок графических подсистем до появления понятия мультимедиа был относительно прост в развитии. Важной вехой в развитии был стандарт VGA (Video graphics Array), разработанный компанией IBM в 1987 году, благодаря чему производители видеоадаптеров получили возможность использовать более высокое разрешение (640х480) и большую глубину представления цвета на мониторе компьютера. С ростом популярности ОС Windows, появилась острая потребность в аппаратных ускорителях двумерной графики, чтобы разгрузить центральный процессор системы, вынужденный обрабатывать дополнительные события. Отвлечение CPU на обработку графики существенно влияет на общую производительность GUI (Graphical User Interface) - графического интерфейса пользователя, а так как ОС Windows и приложениям для нее требуется как можно больше ресурсов центрального процессора, обработка графики осуществлялась с более низким приоритетом, т.е. делалась очень медленно. Производители добавили в свои продукты функции обработки двумерной графики, такие, как прорисовка окон при открытии и свертывании, аппаратный курсор, постоянно видимый при перемещении указателя, закраска областей на экране при высокой частоте регенерации изображения. Итак, появился процессор, обеспечивающий ускорение VGA (Accelerated VGA - AVGA), также известный, как Windows или GUI ускоритель, который стал обязательным элементом в современных компьютерах.
Внедрение мультимедиа создало новые проблемы, вызванные добавлением таких компонентов, как звук и цифровое видео к набору двумерных графических функций. Сегодня легко заметить, что многие продукты AVGA поддерживают на аппаратном уровне обработку цифрового видео. Следовательно, если на Вашем мониторе видео проигрывается в окне, размером с почтовую марку - пора установить в Вашей машине мультимедиа ускоритель. Мультимедиа ускоритель (multimedia accelerator) обычно имеет встроенные аппаратные функции, позволяющие масштабировать видеоизображение по осям x и y, а также аппаратно преобразовывать цифровой сигнал в аналоговый, для вывода его на монитор в формате RGB. Некоторые мультимедиа акселераторы могут также иметь встроенные возможности декомпрессии цифрового видео.