Создает устройство, чтобы отображать графику на мониторе.
HRESULT CreateDevice( UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DDevice8** ppReturnedDeviceInterface );
Adapter - порядковый номер отображаемого адаптера. D3DADAPTER_DEFAULT использует всегда первичный адаптер.
DeviceType - член структуры D3DDEVTYPE. Обозначает, какой Вы будете использовать тип устройства. Если тип устройства не доступен, терпит неудачу.
hFocusWindow - окно, в котором создано устройство MicrosoftR Direct3DR. Для полноэкранного режима должен иметь самый верний уровень окна.
BehaviorFlags - может принимать один или несколько флажков, которые управляют глобавльным поведением Direct3D устройства. Флажки описаны ниже:
pPresentationParameters - указатель на структуру D3DPRESENT_PARAMETERS, в которой дано описание параметров устройства, когда оно будет создано. Запрос CreateDevice может изменить значения BackBufferCount входящая в структуру D3DPRESENT_PARAMETERS; количество задних буферов изменяется, чтобы можно было откорректировать число задних буферов.
ppReturnedDeviceInterface - адрес укзателя возвращаемого интерфейса IDirect3DDevice8.
Если функция завершена успешно, тогда возвращается значение D3D_OK.
Если нет, то один из следующих флажков:
Эта функция возвращает полностью рабочий интерфейс установленного режима отображения и размещенный с сотвтетствующими задними буферами. Приложение нужно будет только создать и установить буфер глубины (если желаете) и начать отображать.
Эту функцию Вы не должны вызывать при сообщении WM_CREATE. Поэтому, не нужно передавать указатель окна Direct3D при обработке сообщения WM_CREATE. Приложение DirectX 8.1 может ждать сообщение, когда ему будет посланы в течении некоторого времени, прежде чем он возратит результат. Приложение должно быть предостережено, чтобы не вызывать Direct3D в это время. Кроме того, обратите внимание, что создавая запрос, Вы удаляете или повтороно устанавливаете устройство, которая может присвоить тот же адрес окна приложения.
Обратите внимание, D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING и D3DCREATE_SOFTWARE_VERTEXPROCESSING являются взаимно исключительными флажками, что один из этих флажков обработки вершин может определен при запросе CreateDevice.
Задние буфера создаются как часть устройства и блокируют, если в параметрах установлен флажок D3DPRESENTFLAG_lockable_BACKBUFFER. (Несколько задних буферов и буфер глубины никогда не блокируют).
Методы IDirect3DDevice8::Reset, Release и IDirect3DDevice8::TestCooperativeLevel должны быть теми же самыми устройствами, которую использовала CreateDevice, при создании устройства.
Заголовки: объявить D3d8.h.
Подключить библиотеку: Используйте D3d8.lib.