netlib.narod.ru< Назад | Оглавление | Далее >

Direct3DRM: основной интерфейс

Как было упомянуто ранее, Direct3D — это набор COM-интерфейсов. Все интерфейсы, составляющие Direct3D, зависят от одного главного: Direct3DRM (RM обозначает Retained Mode — абстрактный режим). Объект Direct3DRM представляет непосредственно Direct3D и создается функцией Direct3DRMCreate():

    LPDIRECT3DRM d3drm;
    Direct3DRMCreate(&d3drm);

Тип LPDIRECT3DRM — это указатель на интерфейс Direct3DRM. Функция Direct3DRMCreate() создает объект и инициализирует указатель на интерфейс. После того, как функция Direct3DRMCreate() успешно завершится (мы поговорим о кодах возврата в конце этой главы), интерфейс Direct3DRM готов к использованию.

Создание объектов Direct3D

Главная цель интерфейса Direct3DRM — создание других объектов Direct3D. Большинство функций интерфейса Direct3DRM имеют префикс «Create» (создание). Функции, создающие объекты, перечислены ниже:

Обычно нет необходимости использовать все эти функции. Некоторые функции практически идентичны. Например, единственное различие между функциями CreateLight() и CreateLightRGB() состоит в том, каким образом задан цвет освещения.

Поскольку интерфейс Direct3DRM необходим для создания других объектов Direct3D, обычно программа создает объект Direct3DRM в первую очередь.

Изменение пути поиска файлов

Другая функция интерфейса Direct3DRM заключается в том, что он позволяет изменить пути поиска, используемые Direct3D для обнаружения файлов. Для получения и изменения пути применяются следующие функции:

По умолчанию Direct3D устанавливает путь поиска файлов c:\dxsdk\sdk\media. С помощью перечисленных функций вы можете изменить этот путь или добавить другие пути, но изменения будут действовать для вашей программы только во время ее выполнения. Указанный путь не создается на пользовательском компьютере, так что ваша программа не должна зависеть от его существования.


ЗАМЕЧАНИЕ


Изменение заданного по умолчанию пути поиска файлов. Заданный по умолчанию путь поиска файлов сохраняется в системном реестре Windows и может быть изменен с помощью редактора системного реестра Windows 95 REGEDIT. Вы можете найти путь, отыскав запись реестра D3D Path.


Управление скоростью обновления

Кроме всего прочего, объект Direct3DRM предоставляет функцию Tick(), которая управляет скоростью выполнения программы. Каждый раз, когда вы вызываете функцию Tick(), Direct3D обновляет анимированные элементы сцены и визуализирует результат. Более частые вызовы Tick() приводят к более частому обновлению сцены; если функция Tick() вызывается редко, программа замедляется. Функция Tick() получает единственный параметр, контролирующий скорость анимации сцены. В большинстве ситуаций достаточно задать значение 1.0, но, задавая во время выполнения другие значения, можно управлять скоростью работы программы.


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz