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

         

Класс ShadowWin


Основная функциональность приложения Shadow предоставляется классом ShadowWin:

class ShadowWin : public RMWin { public: ShadowWin(); BOOL CreateScene(); protected: //{{AFX_MSG(ShadowWin) 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 AdjustSpin(LPDIRECT3DRMFRAME frame, void*, D3DVALUE); private: LPDIRECT3DRMMESHBUILDER floorbuilder; LPDIRECT3DRMMESHBUILDER forkbuilder; };

Класс предоставляет две открытых функции: конструктор и функцию CreateScene(). Кроме того, объявлены шесть функций для реализации меню Render, которые уже рассматривались нами при изучении других приложений.

Функция AdjustSpin() является функцией обратного вызова, используемой для изменения параметров вращения вилки во время работы приложения. Функция обратного вызова устанавливается в функции CreateScene().

Также объявлены две переменных класса. Обе они являются указателями на интерфейс Direct3DRMMeshBuilder. Эти указатели используются при создании сцены, а также в обработчиках событий меню Render.



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