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


Окно программы, рассматриваемой в этой главе - часть 2


// // Визуализация // Device->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x00000000, 1.0f, 0); Device->BeginScene();

d3d::DrawBasicScene(Device, 1.0f);

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

ПРИМЕЧАНИЕ

Мы добавили в пространство имен d3d новую функцию DrawBasicScene. Эта функция рисует сцену, изображенную на Рисунок  12.8. Мы добавили ее к пространству имен d3d потому что удобно иметь функцию, рисующую стандартную сцену, благодаря чему в следующих примерах мы сможем сосредоточиться на относящемся к изучаемым темам коде и не отвлекаться на код, предназначенный для рисования сцены. Объявление в файле d3dUtility.h выглядит так:

// Внутри функции есть ссылка на файл desert.bmp // Этот файл должен быть в рабочем каталоге приложения bool DrawBasicScene( IDirect3DDevice9* device, // 0 для очистки float scale); // масштаб

Когда эта функция вызывается с корректным указателем на устройство в первый раз, она выполняет инициализацию внутренних данных о геометрии сцены; поэтому рекомендуем вам первый раз вызывать эту функцию из функции Setup. Чтобы очистить внутреннюю геометрию, вызовите эту функцию из процедуры Cleanup, но вместо указателя на устройство передайте null. Поскольку эта функция не выполняет никаких действий, которые бы мы не обсуждали в предыдущих главах, мы предлагаем вам самостоятельно исследовать ее код, который вы найдете в сопроводительных файлах к данной главе. Обратите внимание, что в качестве текстуры функция загружает файл desert.bmp. Этот файл должен находиться в папке приложения.





- Начало -  - Назад -  - Вперед -