Консультация № 136522
12.05.2008, 19:28
0.00 руб.
0 1 1
Доброго времени суток, уважаемые эксперты. Использую DirectX9 (D3D) и Visual studio 2008. Возникла необходимость объединения двух стандартных мешей directX (которые создаются с помощью D3DXCreateCylinder и D3DXCreateSphere) в один мешь. Т. е. при трансформации этих объектов они должны изменяться как одно целое (например, вращение по оси у). Какие функции мне для этого использовать?
Заранее благодарен.

Обсуждение

Неизвестный
14.05.2008, 22:27
общий
это ответ
Здравствуйте, Рязанов Максим Валерьевич!

Используйте следующую функцию:

D3DXConcatenateMeshes функция соединяет несколько мешей в один

Синтаксис:

HRESULT D3DXConcatenateMeshes(
LPD3DXMESH * ppMeshes, // Массив мешей которые нужно соединить
UINT NumMeshes, // Кол-во переданных мешей которые нужно соединить
DWORD Options, // Опции создания меша такие же как и в функции D3DXCreateMesh
CONST D3DXMATRIX * pGeomXForms, // Массив матриц трансформации геометрии для каждой модели или NULL
CONST D3DXMATRIX * pTextureXForms, // Массив матриц трансформации текстур для каждой модели или NULL
CONST D3DVERTEXELEMENT9 * pDecl, // Описание вершин (см. D3DVERTEXELEMENT9) или NULL
LPDIRECT3DDEVICE9 pD3DDevice, // Указатель на устройство Direct3D
LPD3DXMESH * ppMeshOut // Выходной мешь содержащий все меши
);
Форма ответа