Введение в программирование трехмерных игр с DX9

       

Рисунок Объекты, создаваемые и визуализируемые с использованием функций DXCreate*



Рисунок  3.3. Объекты, создаваемые и визуализируемые с использованием функций D3DXCreate*

<
Все шесть функций применяются одинаково и используют структуру данных сетки D3DX ID3DXMesh и интерфейс ID3DXBuffer. Подробнее об этих интерфейсах мы поговорим в главе 10 и главе 11. Сейчас мы проигнорируем детали их функционирования и сосредоточимся на простейшем варианте их использования.

HRESULT D3DXCreateTeapot( LPDIRECT3DDEVICE9 pDevice, // связанное с сеткой устройство LPD3DXMESH* ppMesh, // указатель на полученную сетку LPD3DXBUFFER* ppAdjacency // сейчас присвоить ноль );

Вот пример использования функции D3DXCreateTeapot:

ID3DXMesh* mesh = 0; D3DXCreateTeapot(_device, &mesh, 0);

После того, как мы сгенерировали данные сетки, можно нарисовать ее с помощью метода ID3DXMesh::DrawSubset. Единственный параметр этого метода идентифицирует подгруппу сетки. Генерируемые функциями D3DXCreate* сетки состоят из одной подгруппы, так что в этом параметре передается ноль. Вот пример визуализации сетки:

_device->BeginScene(); mesh->DrawSubset(0); _device->EndScene();

Когда вы завершите работу с сеткой, освободите ее:

_mesh->Release(); _mesh = 0;


Содержание раздела