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



         

Окно приложения Cube - часть 3


// поворот на 45 градусов вокруг оси X D3DXMatrixRotationX(&Rx, 3.14f / 4.0f);

// увеличение угла поворота вокруг оси Y в каждом кадре static float y = 0.0f; D3DXMatrixRotationY(&Ry, y); y += timeDelta;

// сброс угла поворота, если он достиг 2*PI if( y >= 6.28f ) y = 0.0f;

// комбинация поворотов D3DXMATRIX p = Rx * Ry;

Device->SetTransform(D3DTS_WORLD, &p);

// // рисование сцены: // Device->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xffffffff, 1.0f, 0); Device->BeginScene();

Device->SetStreamSource(0, VB, 0, sizeof(Vertex)); Device->SetIndices(IB); Device->SetFVF(Vertex::FVF); Device->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 8, 0, 12);

Device->EndScene(); Device->Present(0, 0, 0, 0); } return true; }

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

void Cleanup() { d3d::Release<IDirect3DVertexBuffer9*>(VB); d3d::Release<IDirect3DIndexBuffer9*>(IB); }




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