Directx for managed code что это

Обновлено: 05.07.2024

Книга позволяет изучить возможности использования Управляемого DirectX при разработке различных графических и мультимедийных приложений. В данной книге рассмотрены как основы программирования 3D-графики, так и более сложные разделы, например, управление уровнями детализации mesh-объектов, использование высокоуровневого языка шейдеров и символьной анимации.В книге уделено достаточное внимание таким важным вопросам, как управление звуком и устройствами ввода или добавление звуковых эффектов и джойстика.

Файл: Managed-DirectX-9-s-upravlyaemym-kodom-Programmirovanie-igr-i-grafika-0672325969.rar

Яндекс.Браузер - быстрый и простой в использовании веб-браузер с "облачными" сервисами, созданный на движке WebKit и оболочке Chromium. Особенности:• безопасность, гарантируемая проверкой ссылок с помощью Safe Browsing и скачиваемых файлов системой "Лаборатории Касперского";• современный минималистический интерфейс поможет удобно переходить по веб-сайтам и предложит нужные элементы управления именно тогда, когда они на самом деле понадобятся;•&n.

MSI Afterburner - функциональная утилита от компании MSI, которая предназначена для разгона видеокарт NVIDIA и AMD. Особенности: Создан на основе ядра RivaTuner Расширяемая пользователем архитектура Основные функции разгона и управления вентиляторами Поддержка основных функций захвата экрана Расширенное управление вентиляторами Мониторинг состояния оборудования Система автоматического управления профилями Дает больше свободы хардкорным оверклокерам. Что нового.

Mozilla Thunderbird - бесплатная программа для работы с электронной почтой от Mozilla, поддерживает протоколы SMTP, POP3, IMAP и RSS.Особенности:• имеет встроенный HTML редактор, который создает довольно компактный код;• поддерживает всевозможные кодировки, расширяется за счет дополнительных модулей и фильтрует рекламу, а также нежелательную корреспонденцию;• интерфейс программы прост и удобен в использовании, поддерживает.

Telegram — десктопная версия популярного мессенджера для мобильных устройств. Телеграм является одним из самых защищенных мессенджеров, обеспечивает полную конфиденциальность пользователей и использует механизмы удаления всех следов переписки не только на устройстве, но и на серверах. Особенности:• быстрая регистрация и привязка аккаунта к номеру мобильного телефона;• мгновенная синхронизация чатов между всеми устройствами;• &nb.

Adobe Photoshop для Mac — самый популярный графический редактор в мире, который используется как новичками, так и профессионалами. Приложение позволяет вносить практически любые изменения в изображения, уровень которых ограничивается лишь мастерством пользователя. Особенности: огромный функционал программы; библиотека дополнительных расширений для более профессиональных возможностей; работа с несколькими изображениями одновременно; интеграция со всеми продуктами от Adobe Cor.

Microsoft Word for Mac для Mac — бесплатный офисный компонент для пользователей компьютеров на Mac OS. Сочетает в себе все необходимые функции для просмотра и редактирования текстовых документов. для удобства работы предусмотрено две среды: рабочая и записи, для исключения внесения случайных изменений в документ; поиск по документу; галерея инструментов идентичная таковой в приложении для Windows; полная совместимость со всеми форматами Microsoft Word; создание макросов для автомат.

uTorrent — версия самого популярного p2p-клиента для компьютеров с установленной Mac OS. Позволяет скачивать файлы из пиринговых сетей с максимальной скоростью благодаря многопотоковой загрузке из различных источников. Особенности: небольшой размер; интерфейс идентичный Windows—версии; работает с torrent файлами и magnet ссылками; возможность загружать несколько раздач одновременно, а также управлять скоростью и, приоритетом загрузок; работа в фоновом режиме; приложе.

ABBYY FineReader Express Edition for Mac - это простая и удобная в использовании OCR-программа, которая позволяет с высокой точностью конвертировать отсканированные документы и файлы изображений в различные электронные форматы. ABBYY FineReader Express Edition for Mac сохраняет исходное оформление документов, тем самым, уменьшая необходимость перепечатывания и хранения бумажных документов.Программа позволяет конвертировать изображения из форматов TIFF, TIF, PNG, JPG, JPEG, JP2, J2K, BMP, PCX, DC.

Wine - это не эмулятор Windows, как думают многие, а альтернативная реализация API Windows 3.x и Win32 (кстати, и расшифровывается Wine как "Wine Is Not Emulator").Wine позволяет конечному пользователю выполнять в unix-системах (и Linux) многие приложения, написанные для ОС Windows.

Fedora Workstation - надежная, удобная и мощная операционная система для ноутбука или настольного компьютера. Она поддерживает широкий спектр разработчиков, от любителей и студентов до профессионалов в корпоративных средах.

Представлен релиз 32-разрядного дистрибутива Runtu LITE 18.04, основой которого является пакетная база релиза Bionic Beaver 18.04 LTS. Сборка имеет минимальный набор пользовательского ПО с возможностью установки на жёсткий диск. В составе предустановлены программы для работы с Интернет, воспроизведение аудио- и видеоконтента, настройки рабочего окружения.

Богатый набор Русско-Английских и Англо-Русских словарей для StarDict

Smart Driver – удобный радар камер и ДПС, а так же видеорегистратор в одном приложении. Предупредит где камеры ГИБДД на дороге, в том числе укажет их тип:– камера только на скорость, в том числе "Стрелка"– камера на стоп–линию и проезд на красный– камера на полосу общественного транспорта и обочину– стационарный пост ДПС– парная камеры, контролирующие среднюю скорость на участке дороги ( "Автодория")– камера смотрящая "в спину"– засада ДПС ил.

это популярный браузер с возможностью сжатия трафика через собственные сервера. Возможности программы: Сжатие страницUC Browser сэкономит более 90% трафика благодаря технологии сжатия страницСтабильное соединение с ИнтернетСобственная технология Free-link обеспечивает стабильную связь с серверамиМощный поискВ браузер встроены различные популярные и мощные поисковые сервисыМногооконностьВы можете переключаться между открытыми страницами по своему желаниюНавигация по сайтамНавигация содержит в с.

Приложение «Медитация для начинающих» можно скачать бесплатно на Android. Медитация на русском - антистресс-практика, которая изменит Вашу жизнь. Она научит расслабляться во время стресса. Пройдите базовый курс медитации для начинающих с помощью приложения, чтобы научиться снимать стресс, загляните внутрь себя, прислушайтесь к своим мыслям и своему организму, научитесь самостоятельно осознавать свои страхи и тревоги. Следите за своим дыханием. Для Вашего удобства медитация н.

TuneIn Radio для iOS - пожалуй самый мощный сервис для прослушивания онлайн радиостанций и подкастов со всего мира совершенно бесплатно. Особенности: более 100 000 уникальных радиостанций со всего света; прослушивание в режиме реального времени и отложенное воспроизведение; около 6 000 000 пользовательских подкастов; возможность работы с Apple Watch; лента событий в которой также отображается очередь воспроизведения; возможность добавления станций и подкастов в избранное; простой интуит.

Яндекс Музыка для iOS - клиент популярного музыкального сервиса для устройств Apple. С его помощью можно прослушивать онлайн музыку любимых исполнителей в высоком качестве совершенно бесплатно.Особенности: удобный поиск композиций по исполнителю, названию группы и жанру. Также учитываются предпочтения пользователя; рекомендации основанные на основе уже прослушанных и отмеченных песен; создание собственных интернет-радиостанций с возможностью поделиться ссылкой в социальных сетях и мессендже.

YouTube для iOS - популярный видеохостинг, получивший признание пользователей со всего мира. С обновленным интерфейсом, приложением стало пользовать еще удобнее, теперь можно пользоваться абсолютно всеми возможностями веб-версии сервиса на своем iPhone.Особенности: просматривайте контент других пользователей или выкладывайте свой; возможность проведения прямых трансляций; функции настройки качества воспроизводимого видео; возможность оставить комментарии к роликам, а также подписаться на п.

Предметная область

Задача – получить данные от игрового руля. В первую очередь необходимо изучить предметную область. Где используются игровые рули? Очевидно, в играх. Множество игр разрабатывается с помощью технологии DirectX. Почитав википедию, можно узнать, что DirectX подразделяется на множество интерфейсов. Интерес для нас представляет интерфейс DirectInput.

Используемые игровые контроллеры

Для реализации проекта в мое распоряжение был предоставлен игровой руль Defender Forsage GTR.
Также я не упустил возможности поэкспериментировать со своим игровым джойстиком Logitech Rumblepad 2.

Managed DirectX

Необходимые инструменты

Начало работы

Добавим к проекту новый файл app.config со следующим содержимым:


Теперь все готово, можно начинать работать с игровыми контроллерами.

Получение состояния игрового руля

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


Далее необходимо инициализировать игровое устройство. Для наглядности подразумеваю, что оно у меня одно:


В характеристиках руля сказано, что угол поворота рулевого колеса составляет 180 градусов, поэтому в InputRange я указал значение угла отклонения влево и вправо в 90 градусов.

К сожалению, мы не сможем подписаться на какие-либо события от руля или джойстика вроде KeyDown\KeyUp, и состояние игрового контроллера придется опрашивать вручную:


Для наглядности можно вывести на экран структуру JoystickState и увидеть, какие поля меняются в зависимости от состояния игрового руля. Все это справедливо также и для джойстика.

Выводы

Оказывается, запрограммировать игровой контроллер под свои нужды не так уж и сложно, большинство всевозможных джойстиков\рулей и т.п. подчиняются интерфейсу DirectInput, теперь в свои проекты\игры вы с легкостью сможете добавить их поддержку. Что касается игр, то остается только реализовать функционал, дающий пользователю возможность самому «навешивать» на кнопки действия, предусмотренные логикой игры.

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

Библиотека Managed DirectX разделена на следующие пространства имен:

MICROSOFT.DIRECTX.DIRECT3D - ИНТЕРФЕЙСЫ ДЛЯ РЕАЛИЗАЦИИ 3D-ГРАФИКИ;

MICROSOFT.DIRECTX.DIRECTDRAW - СТАРЫЕ, НО ОЧЕНЬ ДОБРЫЕ ФУНКЦИИ ДЛЯ РАБОТЫ С 2D-ПОВЕРХНОСТЯМИ И СООТВЕТСТВУЮЩЕЙ ГРАФИКОЙ;

MICROSOFT.DIRECTX.DIRECTSOUND - ИНТЕРФЕЙСЫ ДЛЯ РАБОТЫ СО ЗВУКОМ;

MICROSOFT.DIRECTX.DIRECTINPUT - ИНТЕРФЕЙСЫ ДЛЯ РАБОТЫ С УСТРОЙСТВАМИ ВВОДА.

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

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

MICROSOFT VISUAL C++;

Самое интересное - последний язык. Судя по всему, Managed DirectX планируют использовать в интернете для создания сервисов с поддержкой 3D-графики!

Кроме того, Том написал даже целую книгу, в которой подробно описал Managed DirectX девятой версии. Книга посвящена разработке графики и игр и называется Managed DirectX 9 Graphics and Game Programming (Sams Publishing, 2004). В России эта книга была переведена в издательстве «КомБук», причем название книги и ее обложка не изменились.

Что же ожидает технологию Managed DirectX? Я думаю, она будет развиваться, но только в сегменте стационарных компьютеров и мобильных устройств с ОС от Microsoft. Так как наладонники и вкарманники пока не обладают графическими возможностями ATI и GeForce, развитие будет протекать медленно и печально. Я отслеживаю это развитие и одним глазком подглядываю в планы, чтобы в случае чего вскочить на коня и начать разработку игр на этой технологии. Сейчас же…наверное, нет смысла тратить время на подобное, так как Managed DirectX работает только на стационарах, на которых есть быстрый классический DirectX. Как только появятся мобильники с полноценной поддержкой, сразу можно будет броситься изучать Managed, благо он не очень сложен и не сильно отличается от классики

МЕТОДЫ MANAGED DIRECTX ЧАЩЕ ВСЕГО ИМЕЮТ ТАКИЕ ЖЕ ИМЕНА, КАК И В КЛАССИЧЕСКОМ DIRECTX. ДАЖЕ ИМЕНА И КОЛИЧЕСТВО ПАРАМЕТРОВ ЧАСТО СХОЖИ - УДАЛЕНЫ ТОЛЬКО ОТКРОВЕННО СТАРЫЕ И НЕИСПОЛЬЗУЕМЫЕ ПАРАМЕТРЫ

БУДУЩЕЕ MANAGED DIRECTX ПРИЗРАЧНО, НО ЕСЛИ ЕГО СУМЕЮТ ПОРТИРОВАТЬ НА РАЗНЫЕ ПЛАТФОРМЫ, ТО МЫ СМОЖЕМ СОЗДАТЬ QUAKE, КОТОРЫЙ БУДЕТ РАБОТАТЬ КАК В LINUX, ТАК И В WINDOWS

Microsoft DirectX - это набор интерфейсов прикладного программирования (API) для обработки задач, связанных с мультимедиа , особенно с программированием игр и видео, на платформах Microsoft . Первоначально все названия этих API-интерфейсов начинались с «Direct», например Direct3D , DirectDraw , DirectMusic , DirectPlay , DirectSound и т. Д. Название DirectX было придумано как сокращенное обозначение для всех этих API ( X заменяет конкретные имена API) и вскоре стало названием коллекции. Когда Microsoft позже решила разработать игровую консоль, X использовался в качестве основы для названия Xbox, чтобы указать, что консоль основана на технологии DirectX. Первоначальный X был перенесен в именование API-интерфейсов, разработанных для Xbox, таких как XInput и Cross- Platform Audio Creation Tool (XACT), в то время как шаблон DirectX был продолжен для API-интерфейсов Windows, таких как Direct2D и DirectWrite .

Direct3D (API трехмерной графики в DirectX) широко используется при разработке видеоигр для Microsoft Windows и линейки консолей Xbox . Direct3D также используется другими программными приложениями для задач визуализации и графики, таких как проектирование CAD / CAM. Поскольку Direct3D является наиболее широко разрекламированным компонентом DirectX, часто встречаются взаимозаменяемые названия «DirectX» и «Direct3D».

Комплект разработки программного обеспечения DirectX (SDK) состоит из библиотек времени выполнения в распространяемой двоичной форме, а также сопроводительной документации и заголовков для использования при кодировании. Первоначально среды выполнения устанавливались только играми или явно пользователем. Windows 95 не запускалась с DirectX, но DirectX был включен в Windows 95 OEM Service Release 2. Windows 98 и Windows NT 4.0 поставлялись с DirectX, как и все версии Windows, выпущенные с тех пор. SDK доступен для бесплатной загрузки. Хотя среды выполнения являются проприетарным программным обеспечением с закрытым исходным кодом, исходный код предоставляется для большинства образцов SDK. Начиная с выпуска Windows 8 Developer Preview, DirectX SDK был интегрирован в Windows SDK.

СОДЕРЖАНИЕ

История развития

В конце 1994 года Microsoft была готова выпустить Windows 95 , свою следующую операционную систему . Важным фактором, определяющим ценность, которую будут придавать потребители, были программы, которые на нем можно было бы запускать. Сотрудник Microsoft Алекс Сент-Джон обсуждал с различными разработчиками игр, какова вероятность того, что они перенесут свои игры MS-DOS в Windows 95, и нашел ответы в основном отрицательными; программисты сочли, что среда Windows более трудна для разработки по сравнению с MS-DOS или другими игровыми платформами. Также были сильные опасения по поводу совместимости; Примечательным примером этого является «Анимированная книга рассказов Диснея: Король Лев», основанная на программном интерфейсе WinG . Из-за множества несовместимых графических драйверов от новых компьютеров Compaq , которые не тестировались с интерфейсом WinG, поставляемым вместе с игрой, он так часто вылетал на многих настольных компьютерах, что родители переполняли службы поддержки Disney .

Сент-Джон осознал, что сопротивление разработке игр под Windows будет ограничением, и нанял еще двух инженеров, Крейга Эйслера и Эрика Энгстрома , чтобы разработать лучшее решение, которое позволит большему количеству программистов разрабатывать игры для Windows. Проект получил кодовое название «Манхэттенский проект», поскольку в отношении одноименного проекта времен Второй мировой войны идея заключалась в замене разработанных в Японии игровых консолей персональными компьютерами под управлением операционной системы Microsoft. Первоначально он использовал символ радиации в качестве своего логотипа, но Microsoft попросила команду изменить логотип. Руководство не согласилось с проектом, поскольку они уже списали Windows как игровую платформу, но все трое взяли на себя обязательства по развитию этого проекта. Их бунтарский характер привел к тому, что Брэд Сильверберг , старший вице-президент по офисным продуктам Microsoft, назвал трио «Beastie Boys».

Большая часть работы этих троих была проделана среди других назначенных проектов, начиная с конца 1994 года. В течение четырех месяцев и при участии нескольких производителей оборудования команда разработала первый набор интерфейсов прикладного программирования (API), который они представили на конференции. 1995 Конференция разработчиков игр . В SDK входили такие библиотеки, как DirectDraw для графических программ, DirectSound для аудио и DirectPlay для сетевых коммуникаций. «Прямая» часть библиотеки была названа, поскольку эти процедуры обычно обходили основные процедуры Windows 95 и напрямую обращались к аппаратному обеспечению компьютера. Хотя команда назвала его «Game SDK» ( комплект для разработки программного обеспечения ), имя «DirectX» пришло от одного журналиста, который высмеивал схему именования различных библиотек. Команда решила продолжить использовать эту схему именования и назвать проект DirectX.

Первая версия DirectX была выпущена в сентябре 1995 года как Windows Games SDK. Это была замена Win32 для API DCI и WinG для Windows 3.1 . DirectX позволял всем версиям Microsoft Windows, начиная с Windows 95, включать высокопроизводительные мультимедиа. Эйслер написал в своем блоге об безумном стремлении создать DirectX 1–5.

Чтобы получить больше разработчиков на борту DirectX, Microsoft подошел ID Software «s Джон Кармак и предложил порт Гибели и Doom 2 из MS-DOS в DirectX, бесплатно, с идентификатором сохраняя все издательские права на игру. Кармак согласился, и Гейб Ньюэлл из Microsoft возглавил проект по переносу. Первая игра была выпущена как Doom 95 в августе 1996 года, первая опубликованная игра DirectX. Microsoft активно продвигала игру, и Билл Гейтс появлялся в рекламе этой игры.

DirectX 2.0 стал компонентом самой Windows с выпуском Windows 95 OSR2 и Windows NT 4.0 в середине 1996 года. Поскольку сама Windows 95 была еще новой и для нее было выпущено мало игр, Microsoft активно продвигала DirectX среди разработчиков, которые в целом не доверяли способности Microsoft создать игровую платформу на Windows. Алекс Сент-Джон, проповедник DirectX, устроил тщательно продуманное мероприятие на конференции разработчиков компьютерных игр 1996 года, которую разработчик игр Джей Барсон описал как римскую тему, включая настоящих львов , тоги и что-то похожее на карнавал в помещении. Именно на этом мероприятии Microsoft впервые представила Direct3D и DirectPlay и продемонстрировала многопользовательский режим MechWarrior 2, в который можно играть через Интернет.

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

До DirectX Microsoft включала OpenGL в свою платформу Windows NT . В то время OpenGL требовал "высококлассного" оборудования и был ориентирован на разработку и использование САПР . Direct3D задумывался как контролируемая Microsoft альтернатива OpenGL, изначально ориентированная на использование в играх. По мере роста 3D-игр OpenGL был разработан, чтобы включить лучшую поддержку методов программирования для интерактивных мультимедийных приложений, таких как игры, предоставляя разработчикам выбор между использованием OpenGL или Direct3D в качестве API 3D-графики для своих приложений. С этого момента началась «битва» между сторонниками кроссплатформенного OpenGL и Direct3D только для Windows. Между прочим, OpenGL поддерживался в Microsoft командой DirectX. Если разработчик решил использовать API трехмерной графики OpenGL, другие API-интерфейсы DirectX часто объединяются с OpenGL в компьютерных играх, поскольку OpenGL не включает в себя все функции DirectX (например, поддержку звука или джойстика).

В версии для консоли DirectX использовался в качестве основы для консольных API Microsoft Xbox , Xbox 360 и Xbox One . API был разработан совместно Microsoft и Nvidia , которые разработали специальное графическое оборудование, используемое в оригинальной Xbox. Xbox API был похож на DirectX версии 8.1, но не подлежал обновлению, как и другие консольные технологии. Кодовое название Xbox было DirectXbox, но было сокращено до Xbox из-за его коммерческого названия.

В 2002 году Microsoft выпустила DirectX 9 с поддержкой использования гораздо более длинных шейдерных программ, чем раньше, с пиксельными и вершинными шейдерами версии 2.0. С тех пор Microsoft продолжала обновлять пакет DirectX, представив Shader Model 3.0 в DirectX 9.0c, выпущенном в августе 2004 года.

В апреле 2005 года DirectShow был удален из DirectX и вместо этого перемещен в Microsoft Platform SDK .

Было подтверждено присутствие DirectX в Microsoft Windows Phone 8 .

Трассировка лучей в реальном времени была объявлена ​​как DXR в 2018 году.

Логотипы

Оригинальный логотип напоминал деформированный предупреждающий знак радиации . Как ни странно, первоначальное название проекта DirectX было «Манхэттенский проект», отсылка к инициативе США по созданию ядерного оружия . Алекс Сент-Джон , глава евангелизации Microsoft DirectX в то время, утверждает, что коннотация окончательного результата Манхэттенского проекта ( ядерная бомбардировка Японии ) является преднамеренной, и что DirectX и его родственный проект Xbox (который разделяет подобный логотип), были призваны вытеснить японских производителей видеоигр с их доминирующего положения в индустрии видеоигр . Однако Microsoft публично отрицает эту учетную запись, вместо этого заявляя, что логотип является просто художественным дизайном.

Пока в природе не существовало DirectX, большинство игровых программ для персональных компьютеров работали под управлением Ms Dos.
Чтобы запустить такие игры, пользователям приходилось бороться, в прямом смысле этого слова, с конфигурационными файлами системы, такими, как AUTOEXEC.BAT, CONFIG.SYS, и с настройками драйверов типа EMM386.EXE и т.д. лишь ради того, чтобы получить несколько дополнительных свободных байт из доступных 640Кб базовой памяти, даже если на компьютере установлено 16Мб оперативной памяти.

Жизнь разработчиков программного обеспечения была не сахар, потому что для преодоления ограничения в 640Кб приходилось использовать различные драйверы для каждой разновидности видеоадаптеров и звуковых карт.

С выходом в свет технологии компании Microsoft DirectX для Windows 95 все указанные выше проблемы становятся историей.

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

Но разработка игр с использованием DirectX остается все еще непростой задачей. Иногда все еще достаточно трудно найти грамотную документацию, и начинающие разработчики тратят много времени на поиск знаний о том, как использовать такие новшества, как DirectDraw, Z-буферы или DirectSound, а также многие другие сложные, но полезные инструменты.

Цель этой статьи — помочь разработчикам, использующим DirectX, несколькими советами, основанными на моем собственном опыте написания программ. Обычные пользователи смогут получить из этого обзора общее представление о том, что такое DirectX.

Что такое DirectX ?

DirectX представляет собой набор из нескольких API (application programming interface — интерфейс программирования приложений), позволяющих разработчикам игр и других интерактивных приложений получать доступ к специфическим функциям аппаратного обеспечения без необходимости написания аппаратнозависимого программного кода. DirectX основан на наборе интерфейсов COM или классов. COM расшифровывается, как Component Object Model (Компонентная Модель Объектов), и представляет собой спецификацию интерфейса, в котором функции вызываются через указатели. Таким образом, объекты COM могут описываться такими языками программирования, как C/C++, Delphi или даже Basic. Все примеры, ссылка на которые была выше, написаны на C++, т.к. я пользуюсь именно этим языком. Интерфейс COM используется не только в DirectX, но и на уровне операционной системы в качестве модели объектов и является сердцем одной из самой широко применяемой технологии — OLE (Objects Linking and Embedding — связывание и встраивание объектов).

  • DirectDraw — обеспечивает доступ к аппаратным средствам, отвечающим за изображение. Предлагается возможность работать с двумерной графикой и напрямую управлять видеопамятью, оверлеями и сменой видеостраниц.
  • DirectSound — как видно из названия, этот компонент обеспечивает аппаратнонезависимый интерфейс воспроизведения звука. DirectSound позволяет приложениям полностью использовать возможности аппаратных компонентов, обеспечивающих работу со звуком, например, микширование без временных задержек.
  • DirectInput — Обеспечивает аппаратнонезависимый ввод данных в систему в режиме реального времени. События, обрабатываемые DirectInput, формируются клавиатурой, мышкой и джойстиком.
  • DirectPlay — представляет собой независимый протокол для осуществления связи между компьютерами. Может применяться для многопользовательских игр, связь в которых осуществляется через Интернет, локальную сеть или прямое последовательное соединение с помощью кабеля. Интерфейс, именуемый DirectPlay Lobby, позволяет создавать онлайновые места встреч в интернете, попадая в которые множество людей могут объединяться и совместно участвовать в играх.
  • Direct3D — это подсистема создания трехмерных графических изображений. Состоит из API низкого уровня, который обеспечивает несколько базовых возможностей создания изображения, и API высокого уровня, который осуществляет комплекс операций, образующих изображение.

DirectX 5.0 SDK (Software Development Kit — Набор разработчика программ), доступен для загрузки с сайта Microsoft.

Справочник по DirectX для начинающих

Если Вы не являетесь разработчиком игровых программ, но Вам нравиться играть на персональном компьютере, Вы точно должны были слышать о DirectX. Почему?

Потому что DirectX широко используется в современном поколении компьютерных игр. Каждая игрушка, имеющая логотип "for Windows 95", прежде, чем запуститься на Вашем компьютере, требует наличия установленного в системе DirectX. Вот почему DirectX это не просто "нечто для программистов", это принципиально необходимое нечто для игроков.

В тоже время если какая-то из таких современных игр установленна на Вашем компьютере, значит, DirectX тоже установлен, и Вы можете узнать об этом, обратив внимание на несколько новых файлов, которые появились в директории WindowsSystem, например DDRAW.DLL или DPLAY.DLL. Это компоненты DirectX, которые используются всеми играми, установленными в Вашей системе и работающими через интерфейс DirectX.

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

  • Улучшенные многопользовательские игры
    Причина, почему хороших многопользовательских игр не так много, в том, что они очень сложны в создании. DirectPlay делает создание таких игр менее болезненной проблемой и упрощает их установку. Вот почему мы вправе ожидать увеличения количества новых классных многопользовательских игр.
  • Завораживающие 3D-игры
    Вы знаете, почему трехмерные игры идут на Вашем компьютере так медленно? Причина в том, что изображение 3D-объектов на плоском экране требует огромного количества математических вычислений. Если эти вычисления осуществляются центральным процессором системы, то такие процессы обсчитываются слишком медленно, так как процессор выполняет еще и другие системные операции. Одним из решением этой проблемы является возложение задач по обработке трехмерных процессов на специальные 3D-видеоакселераторы.

Такие карты имеются в продаже, но многие игры не используют аппаратные возможности специализированных плат, потому что создатели игры должны написать соответствующий драйвер, а иногда бывает проблематично переписать заново целые фрагменты кода для того, чтобы использовать преимущества аппаратной обработки 3D. Компонент Direct3D, впервые включенный во вторую версию DirectX, обеспечивает стандарт на использование видеоадаптеров, обеспечивающих аппаратную 3D-акселлерацию, и его применение, несомненно, заставит трехмерные игрушки работать быстрее.

Читайте также: