Программируем игры на DirectX: различия между версиями

м
Создадим проект с именем Lesson1. Добавим в него файл main.cpp, и начнем его заполнять.
Для работы приложения нам потребуется использовать разные библиотеки, их мы сейчас и подключим к нашему проекту.
 
<source lang="cpp">
//Подключаем библиотеки
 
Дальше мы должны подключить заголовочные файли, чтобы компилятор не выдавал ошибки.
 
<source lang="cpp">
//Подключаем заголовчные файлы
 
Объявим глобальные переменные которые мы будем использовать в нашей программе.
 
<source lang="cpp">
//Глобальные переменные
 
Теперь объявим прототипы функций, которые мы с вами напишем.
 
<source lang="cpp">
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int iCmdShow); //Точка старта приложения
 
Поговорим о функции WinMain. Эта функция является точкой старта приложения, код который в ней написан начинает выполнение при запуске программы. В этой функции мы должны создать окно и отобразить его.
 
<source lang="cpp">
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int iCmdShow)
 
Теперь мы должны написать функцию которая у нас будет обрабатывать сообщения, принцип действия этой функции таков: если мы получили сообщения - перехватываем его, и делаем действия которые нам требуются.
 
<source lang="cpp">
long WINAPI WndProc(HWND hWnd,UINT iMsg,WPARAM wParam,LPARAM lParam)
 
Сейчас наша задача написать функцию инициализации Direct3D. Эта тема для вас новая, постарайтесь сосредоточиться и внимательно просмотреть код.
 
<source lang="cpp">
bool InitDirect3D(D3DFORMAT ColorFormat,D3DFORMAT DepthFormat)
 
Приступим к написанию функции, которая будет рисовать кадры. У устройства рендеринга есть свои недостатки - потеря устройства. потеря устройства возникает например в случаях когда полноэкранное окно не в фокусе и тд. После того как мы потеряли устройство надо его востановить, чтобы дальше можно было отображать сцену.
 
<source lang="cpp">
void DrawFrame()
 
Ну и последняя функция, которая будет освобождать выдуленеую память. Освобождать память надо в обратном порядке выделения памяти.
 
<source lang="cpp">
void Shutdown()
17

правок