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



         

Итоги


Данные вершин хранятся в интерфейсе IDirect3DVertexBuffer9. Аналогично, данные индексов хранятся в интерфейсе IDirect3DIndexBuffer9. Причина использования буферов вершин и индексов заключается в том, что их данные могут располагаться в видеопамяти.

Статическая геометрия (то есть та, которая не изменяется в каждом кадре) должна храниться в статическом буфере вершин и индексов. В то же время динамическая геометрия (та, которая часто изменяется) должна храниться в динамическом буфере вершин и индексов.

Режимы визуализации — это поддерживаемые устройством режимы, которые влияют на то как отображаются объекты. Режим визуализации оказывает влияние, пока не будет изменен, и установленное значение влияет на все последующие операции рисования. У всех режимов визуализации есть значение по умолчанию.

Чтобы нарисовать содержимое буфера вершин и буфера индексов вы должны:

Вызвать метод IDirect3DDevice9::SetStreamSource и подключить к потоку тот буфер вершин, содержимое которого вы собираетесь рисовать.

Вызвать метод IDirect3DDevice9::SetFVF для указания формата визуализируемых вершин.

Если вы используете буфер индексов, вызвать метод IDirect3DDevice9::SetIndices для указания используемого буфера индексов.

Вызвать метод IDirect3DDevice9::DrawPrimitive либо IDirect3DDevice9::DrawIndexedPrimitive в коде расположенном между вызовами IDirect3DDevice9::BeginScene и IDirect3DDevice9::EndScene.

Используя функции D3DXCreate* вы можете создавать достаточно сложные трехмерные объекты, такие как сферы, цилиндры и чайники.




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