// appdraw.h #ifndef _3DFRAMEWORK_APPDRAW_H_ #define _3DFRAMEWORK_APPDRAW_H_ #include "appbase.h" #include // APP »ý¼º ÆÄ¶ó¹ÌÅÍ struct St_AppCreateParam { char m_lpszDllPath[MAX_PATH]; // 3DRenderer.dll ÀÌ ÀÖ´Â °æ·Î char m_lpszShaderPath[MAX_PATH]; // Shader ÆÄÀϵé( *.vso, *.pso)ÀÌ ÀÖ´Â °æ·Î char m_lpszIrradiancePath[MAX_PATH]; // Irradiance °æ·Î DWORD m_dwDrawCreateOption; // DrawCreate °ü·Ã ¿É¼Ç°ª void* m_pDiscAccess; // Renderer ¿¡¼­ »ç¿ëÇÒ CDiscAccess Æ÷ÀÎÅÍ }; // ÃʱâÈ­ º¯¼öµé struct St_ScreenInitialParameters { St_ScreenFormat m_ScreenFormat; St_RenderOption m_RenderOption; }; //------------------------------------------------------------------------------ /** @class CAppDraw */ class CAppDraw : public CAppBase { public: // »ý¼ºÀÚ/¼Ò¸êÀÚ CAppDraw(); virtual ~CAppDraw(); // À©µµ¿ì »ý¼º virtual BOOL Create( HINSTANCE hInstance, LPCSTR lpszAppName, WNDPROC WndProc, LPCSTR lpszIconName, int nCmdShow, const St_AppCreateParam* pacp ); // À©µµ¿ì Á¦°Å virtual void Destroy(); // ¸ÞÀÎ ·çÇÁ virtual int Run(); // ½ÉÀå ¹Úµ¿(¸Å ÇÁ·¹ÀÓ È£Ãâ) virtual int HeartBeat(); // À©µµ¿ì ÇÁ·Î½ÃÀú virtual LRESULT WindowProc( HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam ); private: // 3D ¼³Á¤ ÆÄÀÏ¸í ¾ò±â int Get3DSetupFileName( char* buf, int len ); // 3D ¼³Á¤ Á¤º¸ ·Îµù void Load3DSetupInfo(); // 3D ¼³Á¤ Á¤º¸ ÀúÀå void Save3DSetupInfo(); protected: St_ScreenInitialParameters m_ScreenParam; CDrawBase* m_pDraw; BOOL m_bActive; }; #endif // _3DFRAMEWORK_APPDRAW_H_