typedef CTexture* CTexturePtr; // тип указателей на текстуру
std::wstring GetSrc() const;
LPDIRECT3DTEXTURE9 GetTexture() const;
void SetSrc(const std::wstring& src);
void SetTexture(LPDIRECT3DTEXTURE9 pTex);
// доступ только для класса Graphics
//! это сама текстура
// класс Graphics будет иметь доступ к protected-членам
Итого получается, текстура:
Пока этого хватит.
Мы хотим одной функцией завершать всю работу с графикой и выгружать все ресурсы
Если вдруг произошёл LostDevice (например, такое бывает при запуске скринсейвера или блогкировке компа), что бы движок сам восстанавливал все нужные данные (например, ).
Что бы движок загружал для нас и шейдеры
Что бы весь код инициализации графики был скрыт в самом движке.
Итак, какой же минимум работы мы сможем поручить созданному нами графическому движку для игры? Давайте прикинем, что бы нам хотелось:
Со своей стороны обещаю, что наш графический движок не будет многоруким шивой и мы создадим его максимально компактным и простым. А так же, что на создание этого графического движка для игры у нас не уйдёт слишком много времени – нам же надо в первую очередь сделать игру, а не графический движок.
Вообще, тема создания собственного графического движка для игры достаточно больная и давно заезженная. Я решил включить её в уроки на моём блоге, т.к. многие всё равно, так или иначе, возьмутся делать собственный графический движок. Кроме того, это блог в том числе по программированию графики, потому лишним не будет. Ну и, конечно, создание игры, особенно достаточно простой, нередко подразумевает и создание граф. движка, т.к. простой движок создать достаточно не сложно, а времени сэкономить он может кучу.
Создание игры. Графический движок.
Уроки создания игр: DirectX, Direct3D, Lua, AI
Создание игры. Графический движок.
Комментариев нет:
Отправить комментарий