0001:
0002:
0003:
0004:
0005:
0006: #pragma once
0007:
0008:
0009:
0010:
0011:
0012:
0013:
0014:
0015:
0016: struct UserInput
0017: {
0018: BOOL bRotateUp;
0019: BOOL bRotateDown;
0020: BOOL bRotateLeft;
0021: BOOL bRotateRight;
0022:
0023: BOOL bShift;
0024: };
0025:
0026:
0027:
0028:
0029:
0030:
0031:
0032:
0033: class CMyD3DApplication : public CD3DApplication
0034: {
0035: LPDIRECT3DTEXTURE9 m_pTex;
0036: CD3DMesh *m_pMesh;
0037:
0038: LPD3DXEFFECT m_pEffect;
0039:
0040: BOOL m_bLoadingApp;
0041: CD3DFont* m_pFont;
0042: UserInput m_UserInput;
0043:
0044: FLOAT m_fWorldRotX;
0045: FLOAT m_fWorldRotY;
0046:
0047: FLOAT m_fLightRotX;
0048: FLOAT m_fLightRotY;
0049:
0050: D3DXMATRIX m_mW;
0051: D3DXMATRIX m_mV;
0052: D3DXMATRIX m_mP;
0053:
0054: D3DXMATRIX m_mLight;
0055:
0056: protected:
0057: virtual HRESULT OneTimeSceneInit();
0058: virtual HRESULT InitDeviceObjects();
0059: virtual HRESULT RestoreDeviceObjects();
0060: virtual HRESULT InvalidateDeviceObjects();
0061: virtual HRESULT DeleteDeviceObjects();
0062: virtual HRESULT Render();
0063: virtual HRESULT FrameMove();
0064: virtual HRESULT FinalCleanup();
0065: virtual HRESULT ConfirmDevice( D3DCAPS9*, DWORD, D3DFORMAT );
0066:
0067: HRESULT RenderText();
0068:
0069: void UpdateInput( UserInput* pUserInput );
0070:
0071: public:
0072: LRESULT MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
0073: CMyD3DApplication();
0074: virtual ~CMyD3DApplication();
0075: };
0076:
0077: