Сначала DirectX не был API, основанным на COM. Microsoft добавила СОМ к DirectX, купив этот API у создавшей его компании Reality Labs. В результате присутствие СОМ в DirectX не слишком навязчиво. Да, СОМ нужно использовать для выделения и освобождения основных компонентов DirectX. Но кроме этого, больше возиться с СОМ не нужно. Не обязательно быть знатоком СОМ и разбираться в его тонкостях, чтобы использовать в своих программах DirectX.
Вы наверняка слышали о .NET - инициативе компании Microsoft. Все, что делает Microsoft, перетаскивается под вывеску .NET. Это относится и к DirectX. Microsoft уже предоставила доступ к DirectX для программ .NET. Интерфейс .NET использовать проще, чем интерфейс СОМ. Однако использование интерфейса .NET связано с некоторыми накладными расходами. Снижение скорости работы программ при использовании .NET составит 2-5 %. Кроме того, может увеличиться размер программ. Вам решать, стоят ли увеличение размера и падение скорости работы программ облегчения их разработки.Использование DirectX more…
Archive for » November, 2007 «
DirectX теоретически основывается на объектах, созданных с помощью модели Microsoft COM (Component Object Model - компонентная модель объектов). СОМ - это абстракция, изобретенная для упрощения больших программных проектов. “Удачной ли была эта абстракция, каждый может решать сам. Идея состоит в том, что каждый СОМ-объект представляет собой черный ящик, соответствующий какой-то части программы или аппаратному устройству. Чтобы создать программу, вы связываете между собой набор объектов. Доступ к СОМ-объектам осуществляется через интерфейсы. Интерфейс (interface) — это набор функций, называемых методами (methods).
Большая часть сказанного будет звучать знакомо для программистов, работавших на объектно-ориентированных языках, например, С++ или Java. Собственно говоря, объекты СОМ совместимы с объектами С++ на ваться как обычные объекты. more…
Related posts
В высокоуровневом представлении DirectX делится на несколько компонентов, большинство из которых мы будем использовать, изучая моделирование физики:
□ Direct3D, Этот компонент отвечает за работу с графикой - как 2D, так и 3D. Когда-то за 20-графику отвечал DirectDraw, но Microsoft встроила его в Direct3D и переименовала в DirectX Graphics. Однако почти все называют его Direct3D. Direct3D позволяет работать с 2Р-графикой, используя все возможности аппаратных устройств, которыми обладают ЗО-графические карты. В этой книге мы будем использовать и 2D-, и ЗО-графику.□ Directlnput. Этот компонент обеспечивает поддержку мышей, клавиатур, джойстиков, трекболов и практически любых других устройств ввода. Microsoft говорит производителям устройств ввода: «Если вы хотите, чтобы они работали в Windows, лучше напишите для них драйверы под Directlnput*. Интерфейс Directlnput настолько абстрактен, что фактически more…
Related posts
Microsoft делит интерфейс DirectX на два основных набора API. Один набор - низкоуровневый и напрямую обращается к аппаратным устройствам. Если нужных аппаратных устройств в системе нет, этот низкоуровневый API имитирует их присутствие. DirectX также содержит набор высокоуровневых API, к которым можно обращаться через программные объекты, содержащиеся в библиотеках DirectX.
Низкоуровневое представление: HAL и HEL
DirectX позволяет программистам работать с аппаратными устройствами практически напрямую, при этом сохраняя аппаратную независимость, обеспечиваемую мультимедиа-стандартами Windows. Не важно, какие видеокарты и звуковые карты установлены в компьютерах игроков - DirectX позволяет их использовать. Команды DirectX преобразуются непосредственно в команды, понятные аппаратным устройствам в компьютере пользователя. Рисунок 2.1 показывает, как это делается. Как видите, есть два компонента, отделяющие высокоуровневый API DirectX от more…
Related posts
У такого подхода есть свои преимущества. Он использует API, который называется GDI (Graphics Device Interface - интерфейс графических устройств), чтобы позволить программистам писать программы, не беспокоясь о том, какие графические карты установлены в компьютерах пользователей. Он также вынуждает приложения аккуратно обращаться с другими приложениями. И, наконец, он позволяет пользователю легко копировать данные из одних приложений в другие. Но для игр GDI работает слишком медленно. GDI создан для рабочих приложений (например, для рисования диаграмм), которые не слишком быстро изменяются во времени. Его невозможно использовать для отображения ЗО-графики в реальном времени. more…
No tags for this post.Related posts
Чтобы создать реалистичную ЗБ-игру, программисты должны моделировать физические силы, действующие в природе. Это требует знания физики, математики и программирования ЗО-графики. Обо всем этом и рассказывается в этой книге. Прежде всего, мы изучим основы 3D-npo-граммирования с помощью DirectX. Этому посвящена следующая глава.В этой главе мы познакомимся с API DirectX, созданным Microsoft. DirectX — основной инструмент, используемый создателями игр и графических программ для работы с ЗО-графикой. Если вы уже знакомы с DirectX, возможно, вы захотите сразу перейди к главе 3, «Математические инструменты», и начать знакомиться с математикой, которая нам понадобится. Если вы впервые столкнулись с DirectX, то эту главу придется прочитать. В ней есть:
□ обзор DirectX и его возможностей; more…
