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

10.7. Клонирование

Иногда может потребоваться скопировать данные одной сетки в другую. Это можно сделать с помощью метода ID3DXBaseMesh::CloneMeshFVF.

HRESULT ID3DXMesh::CloneMeshFVF(
     DWORD Options,
     DWORD FVF,
     LPDIRECT3DDEVICE9 pDevice,
     LPD3DXMESH* ppCloneMesh
);

Обратите внимание, что метод позволяет задать для клона формат вершин отличающийся от формата вершин исходной сетки. Предположим, у нас есть сетка с форматом вершин D3DFVF_XYZ и мы хотим создать ее клон с форматом вершин D3DFVF_XYZ | D3DFVF_NORMAL. Для этого следует написать:

// предполагается, что _mesh и device корректные указатели
ID3DXMesh* clone = 0;
Mesh->CloneMeshFVF(
     Mesh->GetOptions(),     // используем те же параметры,
                                // что и для исходной сетки
     D3DFVF_XYZ | D3DFVF_NORMAL,// задаем формат вершин клона
     Device,
     &clone);

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

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