Интерфейс приложений DirectX и графическая библиотека OpenGL




4.1 Что такое – DirectX?

 

DirectX – это набор API (Application Programming Interface, Интерфейс программирования приложений), разработанный специально для простого решения задач, связанных с разработкой игровых систем и видеопрограммирования. Наиболее широко распространяется использование DirectX в разработке игр. Для начинающих пользователей ПК проще сказать, что DirectX значительно облегчает труд разработчков игр, так как им больше не приходится создавать стандартные процессы обработки видео и звука, они складывают их из уже заготовленных функций этой утилиты.

DirectX разделяется на ряд программных объектов, среди которых выделим DirectX Graphics – набор интерфейсов для обработки и последующего графики, DirectInput – интерфейс, используемый для обработки данных, поступающих с клавиатуры, мыши, джойстика и пр. игровых контроллеров, DirectPlay – интерфейс сетевой коммуникации игр, DirectSound и DirectMusic – интерфейсы для работы со звуком, DirectSetup – часть, ответственная за установку DirectX, Direct Media Objects – реализует функциональную поддержку потоковых объектов.

Естественно, на ряду с развитием технологий аппаратного обеспечения (видеокарт), развивается и программное, в лице DirectX. Выходят новые версии, оснащенные новыми возможностями, все чаще выходят дополнения, включающие незначительные изменения и так далее. Новые продукты выходят, в основном в комплекте с операционной системой Microsoft Windows. Так, в поставку Windows XP входила 9 версия DirectX, а вот в новой Windows Vista – включена 10, на сегодняшний день последняя версия. К ее выпуску компания Microsoft готовилась очень тщательно, поэтому в нем используется отличная от DirectX 9 модель управления.

 

DirectX 9

 

 

Большая часть функциональности девятой и предыдущих версий DX строится на основе COM объектов, доступ к которым мы получаем через интерфейсы. Если коротко – COM модель представляет собой более жесткое определение объектно-ориентированной модели. С COM объектами мы работаем только через интерфейсы. Каждая компонента DirectX будь то, к примеру, DirectInput или DirectSound содержит некоторое количество интерфейсов с использованием функций которых мы получаем доступ к возможностям объекта. Грубо говоря, интерфейс представляет собой класс, содержащий в себе указатели на функции, с помощью которых и происходит взаимодействие с объектом.

Этой версии разработчикам доступен HLSL (High-Level Shader Language) – высокоуровневый язык работы с шейдерами. В качестве его альтернативы можно вспомнить соответствующее предложение от NVidia, а именно Cg. Сложно предсказать дальнейшее развитие обоих языковых платформ. Скорее всего, оба языка будут существовать и продолжать развиваться, как и в случае D3D vs OpenGL. Хотя в данном случае за спиной Cg стоит только NVidia. Программно реализована поддержка второй и третьей версии пиксельных и вершинных шейдеров. Со второй версии вершинных шейдеров, поддержка которых представлена в DX 9, появился контроль над исполнением хода шейдера – условия if/else/endif, циклы loop/endloop и подпрограммы. Взаимодействие с контекстом GDI, а также IDirect3DDevice смахивает на попытку поднятия из могилы недавно положенного туда DirectDraw. Формат пикселя с 10 битным каналом на каждую цветовую компоненту и 2 битами на альфа канал может показаться временным выходом из ситуации для жаждущих 64-битного представления цвета, тем не менее, аппаратная поддержка, а также в некоторых случаях совместимость оставляют желать лучшего.

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

 

DirectX 10

 

DirectX 10, как мы уже говорили, разработан специально для операционной Windows Vista. Он изначально включен в комплект поставки всех версий операционной системы. Разумеется, для того, чтобы DirectX 10 работал в полную силу своих возможностей, вам понадобится Windows Vista, видеокарта с поддержкой DirectX 10 и новейшие игры, включающие в себя возможности программы.

Итак, рассмотрим, что же нового ожидает нас в играх, поддерживающих технологии десятой версии DirectX и разработанных специально для Windows Vista. Основные достижения DirectX 10:

- Более реалистичная анимация шерсти меха и растений

- Более мягкие и более чёткие тени

- Более насыщенные ландшафты с более сложной окружающей обстановкой

- Значительно более тщательно прорисованный лес, более масштабные и детальные сцены баталий

- Более динамичные и чаще меняющиеся по ходу событий сценарии игр

- Больший реализм и уменьшение смазывания движущихся объектов

- Объёмные эффекты

- Уточнённый, более реалистичный дым и облака

- Более реалистичные отражения и преломления на отражающих поверхностях - воде, автомобилях, стекле и др.

- Снижение загрузки CPU, перераспределение обсчёта ряда процессов на GPU, снижение вероятности подтормаживания и зависания системы при сложном геймплее

Таким образом, благодаря такому полезному явлению, как DirectX 10, рядовым пользователям ПК доступны новые возможности и прелести графики игрового мира, в то время, как нагрузка на процессор заметно снижена, возложив обязанности прорисовки и детализации на видеокарту и DirectX. DirectX 10 позволяет имитировать процессы реальной жизни в игровом времени, позволяя заменять статичное окружение динамичным.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-01-14 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: