Программирование графики с использованием Direct3D

         

Класс TargetWin


Функциональность приложения Target реализована в классе TargetWin:

class TargetWin : public RMWin { public: TargetWin(); BOOL CreateScene(); protected: //{{AFX_MSG(TargetWin) afx_msg void OnRenderWireframe(); afx_msg void OnRenderFlat(); afx_msg void OnRenderGouraud(); afx_msg void OnUpdateRenderFlat(CCmdUI* pCmdUI); afx_msg void OnUpdateRenderGouraud(CCmdUI* pCmdUI); afx_msg void OnUpdateRenderWireframe(CCmdUI* pCmdUI); //}}AFX_MSG DECLARE_MESSAGE_MAP() private: static void OrientFrame(LPDIRECT3DRMFRAME frame, void*, D3DVALUE); static void MoveTarget(LPDIRECT3DRMFRAME frame, void*, D3DVALUE); private: LPDIRECT3DRMMESHBUILDER meshbuilder; };

В классе объявлены две открытые функции: конструктор и функция CreateScene(). Конструктор инициализирует единственную переменную класса, а функция CreateScene() создает сцену для приложения.

Следом идет объявление шести защищенных функций. Все они предназначены для реализации меню Render.

Потом объявлены две защищенные функции обратного вызова: OrientFrame() и MoveTarget(). Функция OrientFrame() используется для изменения ориентации ракет таким образом, чтобы они всегда были направлены на цель. Функция MoveTarget() применяется для перемещения цели.

И в самом конце объявляется единственная переменная класса. Указатель meshbuilder используется для загрузки сетки, изображающей ракету. Эта переменная используется как в функции CreateScene() так и в функциях меню Render.



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