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 руб./мес


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




 76 - Функция 3D объекта D3DXLoadMeshFromX / Справка по DirectX / Microsoft DirectX

Шаг 76 - Функция 3D объекта D3DXLoadMeshFromX

Загружает 3D объект из файла в DirectXR.

HRESULT D3DXLoadMeshFromX(
	LPSTR pFilename,
	DWORD Options,
	LPDIRECT3DDEVICE8 pDevice,
	LPD3DXBUFFER* ppAdjacency,
	LPD3DXBUFFER* ppMaterials,
	PDWORD pNumMaterials,
	LPD3DXMESH* ppMesh
);

Описание параметров

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

Options - комбинируя один или более флажков, Вы тем самым определяете как создать 3D объект. Имеются следующие флажки:

  • D3DXMESH_32BIT - 3D объект содержит 32-битовые индексы вместо 16-битовых. 32 битовый 3D объект может содержать в себе 2^32-1 граней и вершин. Этот флажок не поддерживается и Вы его не должны использовать.
  • D3DXMESH_DONOTCLIP - используйте совместно с флажком D3DUSAGE_DONOTCLIP для вершин и индексации буферов.
  • D3DXMESH_DYNAMIC - тоже самое что и флажки D3DXMESH_VB_DYNAMIC и D3DXMESH_IB_DYNAMIC.
  • D3DXMESH_RTPATCHES - используйте совместно с флажком D3DUSAGE_RTPATCHES для вершин и индексации буферов.
  • D3DXMESH_NPATCHES - определяя этот флажок, Вы тем самым заставляете вершины и индексацию буферов быть созданным при помощи флажка D3DUSAGE_NPATCHES. Этот требуется, если объект должен быть отображен используя N-Patch в Direct3D.
  • D3DXMESH_MANAGED - тоже самое что и флажки D3DXMESH_VB_MANAGED и D3DXMESH_IB_MANAGED.
  • D3DXMESH_POINTS - используйте совместно с флажком D3DUSAGE_POINTS для вершин и индексации буферов.
  • D3DXMESH_IB_DYNAMIC - используйте совместно с флажком D3DUSAGE_DYNAMIC для индексации буферов.
  • D3DXMESH_IB_MANAGED - используйте совместно с классом памяти D3DPOOL_MANAGED для индексации буферов.
  • D3DXMESH_IB_SYSTEMMEM - используйте совместно с классом памяти D3DPOOL_SYSTEMMEM для индексации буферов.
  • D3DXMESH_IB_WRITEONLY - используйте совместно с флажком D3DUSAGE_WRITEONLY для индексации буферов.
  • D3DXMESH_SYSTEMMEM - тоже самое что и флажки D3DXMESH_VB_SYSTEMMEM и D3DXMESH_IB_SYSTEMMEM.
  • D3DXMESH_VB_DYNAMIC - используйте совместно с флажком D3DUSAGE_DYNAMIC для буфера вершин.
  • D3DXMESH_VB_MANAGED - используйте совместно с классом памяти D3DPOOL_MANAGED для буфера вершин.
  • D3DXMESH_VB_SYSTEMMEM - используйте совместно с классом памяти D3DPOOL_SYSTEMMEM для буфера вершин.
  • D3DXMESH_VB_WRITEONLY - используйте совместно с флажком D3DUSAGE_WRITEONLY для буфера вершин.
  • D3DXMESH_WRITEONLY - тоже самое что и флажки D3DXMESH_VB_WRITEONLY и D3DXMESH_IB_WRITEONLY.

pDevice - указатель на интерфейс IDirect3DDevice8, чтобы присоединить данный объект к устройству.

ppAdjacency - адрес указателя на интерфейс ID3DXBuffer. Когда эта функция возвращает, этот параметр содержит массив состоящий из трех граней DWORDs, определяющие соседние грани.

ppMaterials - адрес указателя на интерфейс ID3DXBuffer. Когда эта функция возвращает, этот параметр содержит массив на структуру D3DXMATERIAL, которая содержит информацию записанного DirectX файла.

pNumMaterials - указатель на структуру D3DXMATERIAL массива ppMaterials, когда эта функция возвращает.

ppMesh - адрес указателя на интерфейс ID3DXMesh, который позволяет загрузить 3D объект.

Возвращаемое значение

Если функция завершена успешно, тогда возвращается значение D3D_OK.

Если нет, то один из следующих флажков:

Обратите внимание, что если в файле несколько 3D объектов, то они будут представлять как один 3D объект. Если файл содержал иерархию 3D объекта, то все преобразования будут применяться как к единому объекту.

Требования

Заголовки: объявить D3dx8mesh.h.

Подключить библиотеку: Используйте D3dx8.lib.

Примеры

См. раздел Direct3D: "Шаг 19 - Создание, загрузка и отображение X-файла".


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