0001: //-----------------------------------------------------------------------------
0002: // File: main.h
0003: //
0004: // Desc: 放物変換によるツゥーン
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: // Name: class CMyD3DApplication
0031: // Desc: アプリケーションのクラス
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;   // カメラのX軸回転
0045:     FLOAT                   m_fWorldRotY;   // カメラのY軸回転
0046: 
0047:     FLOAT                   m_fLightRotX;   // ライトのX軸回転
0048:     FLOAT                   m_fLightRotY;   // ライトのY軸回転
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: