Введение в программирование трехмерных игр с DX9

COM

Модель компонентных объектов (Component Object Model, COM) — это технология, позволяющая DirectX быть независимым от языка программирования и совместимым со всеми предыдущими версиями. Обычно мы будем ссылаться на COM-объект, как на интерфейс, о котором, в нашем случае, можно думать как о классе C++. Большинство особенностей COM при программировании для DirectX на C++ остаются прозрачными и никак не влияют на работу. Есть только один важный момент, о котором следует помнить: для получения указателя на COM-интерфейс необходимо вызвать специальную функцию или метод другого COM-интерфейса; нельзя пользоваться ключевым словом C++ new. Кроме того, завершив работу с COM-интерфейсом, следует вызвать его метод Release (все COM-интерфейсы наследуют функциональность от интерфеса IUnknown, в котором есть метод Release), а не удалять его оператором delete. COM-объекты самостоятельно осуществляют управление памятью.

Конечно, можно еще много говорить о COM, но эта информация не требуется для эффективного использования DirectX.

ПРИМЕЧАНИЕ

В коде для обозначения COM-интерфейсов используется заглавная буква I. Например, COM-интерфейс, представляющий поверхность называется IDirect3DSurface9.

Содержание раздела