DirectX. Единая модель программ-шейдеров. Доступ к кадровому буферу в пиксельных программах

Страницы работы

Содержание работы

DirectX разработан компанией Microsoft  и первая версия появилась в конце 1995 года примерно одновременно с выходом операционной системы Windows95.

DirectX - это набор специальных  API, которые предоставляют работающей программе прямой доступ к аппаратной части компьютера, обеспечивая наивысшее быстродействие при выводе графики, звука, получения данных от устройств ввода и т. д. Библиотека создавалась исключительно для игр, т. к. именно они требуют от аппаратных средств все 100% производительности. Позднее, с выходом новых версий, DirectX нашёл применение и в мультимедиа-области.

Компоненты DirectX обеспечивают не только прямой доступ к устройствам компьютера: они избавляют программиста от тяжелого труда программирования на языке Assembler, решают проблему с драйверами устройств, незаменимых при создании трёхмерных и сетевых игр.

На сегодняшний день последняя версия DirectX носит порядковый номер 9.0b. Библиотека полностью обеспечивает разработчика всем необходимым инструментарием для разработки качественных игр и мультимедийных приложений, поддерживает все современные аппаратные средства и стала де-факто стандартом в игровой индустрии игр для персонального компьютера IBM PC.

Следующая версия DirectX имеет кодовое название Next.

DirectX 9 состоит из следующих компонентов:

Direct3D содержит высокоуровневый интерфейс Retained Mode позволяющий легко выводить 3-хмерные графические объекты, и низкоуровневый интерфейс Immediate Mode, предоставляющий полный контроль над рендерингом. Начиная с восьмой версии реализована новая технология вершинных шейдеров, позволяющая поднять уровень реалистичности изображения в новых играх. По своей функциональности вплотную приближается к OpenGL 1.2.

DirectDraw предназначен для отображения двумерной анимации на экране монитора. Обеспечивает прямой доступ к видеоадаптеру, за счёт чего достигается быстрый вывод графики, по скорости на порядок превышающий GDI. Эти два компонента в восьмой версии объединены в один - DirectXGraphics.

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

DirectMusic работает с музыкальными командами, посылаемыми звуковой карте. DirectMusic и DirectSound начиная с восьмой версии объединены в один компонент - DirectXAudio.

DirectInput эта компонента отвечает за любые устройства ввода (например, аналоговые или цифровые джойстики, управления полётом, световой карандаш или Touch-Screen). Некоторые возможности компоненты можно реализовать средствами Win32 API, получив такой же быстрый доступ, но в некоторых областях DirectInput незаменим (поддерживает технологию force-feedback и нестандартные устройства ввода).

DirectPlay упрощает жизнь программиста, решившегося добавить в своей программе возможность совместной работы по сети или по модему. В восьмой версии эта компонента значительно переработана и улучшена.

DirectSetup предназначен для установки DirectX.

DirectShow используется в мультимедиа-технологиях - можно выполнить высококачественное воспроизведение или захват видео и звука. Распространённость использования компоненты не слишком велика

Все компоненты реализованы как внутрипоцессные серверы, т.е. размещаются в DLL. Архитектура доступа базируется на технологии COM. Для использования DirectX требуется среда программирования, поддерживающая обращение к функциям DLL из готовых программ и поддержка COM (Delphi, для Visual C++ понадобятся файлы заголовков для DirectX.

Введение.

В то время как первые семь версий DirectX получили, по большей мере, эволюционные улучшения и добавления, сфокусированные на очень специфических графических возможностях, таких как наложение карт среды и неровностей (environment, bump mapping), DirectX 8 сломал эту тенденцию и ввел множество новых универсальных решений. Наиболее заметным нововведением стал программируемый конвейер, в котором вершинные и пиксельные программы-шейдеры перестали управляться простой настройкой нескольких параметров или включением/выключением определённых опций. Вместо этого в DirectX 8 разработчику предоставлялся набор входов и выходов. Пиксельные программы были весьма ограниченными, и не совсем программируемыми, могли осуществлять некоторые векторные операции на ряде входов (выходы вершинных программ, константы пиксельных программ и текстуры), с одним выходом, кадровым буфером. DirectX 8.1 обеспечил некоторое облегчение в этом отношении, но ситуация радикально не менялась до появления DirectX 9.

Единая модель программ-шейдеров.

Похожие материалы

Информация о работе