C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 2 - IDirect3D8::CreateDevice / Справка по DirectX / Microsoft DirectX

Шаг 2 - IDirect3D8::CreateDevice

Создает устройство, чтобы отображать графику на мониторе.

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 устройства. Флажки описаны ниже:

  • D3DCREATE_FPU_PRESERVE - указывает на то, что устройство нуждается в двойной точности FPU или исключить FPU, если позволит. Состояние Direct3D устанавливается каждый раз. Установка этого флажка уменьшит установку состояния Direct3D.
  • D3DCREATE_HARDWARE_VERTEXPROCESSING - определяет возможности видеокарты на обработку вершин. См. примечание.
  • D3DCREATE_MIXED_VERTEXPROCESSING - определяет смешанную (и возможности видеокарты) обработку вершин.
  • D3DCREATE_MULTITHREADED - указывает на запросы Direct3D.
  • D3DCREATE_PUREDEVICE - говорит, что Direct3D не поддерживает Get*. А также сообщает, чтобы Direct3D программно не эмулировал обработку вершин. Т.е. если устройство не поддерживает обработку вершин, то вершины можно будет только преобразовать и не более.
  • D3DCREATE_SOFTWARE_VERTEXPROCESSING - позволяет программную обработку вершин. Смотрите примечание.

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.

Примеры

См. "Шаг 2 - Создание Direct3D в оконном режиме"


| |
Автор Хавов Евгений Валерьевич.
[AD]