0001: // -------------------------------------------------------------
0002: // シャドウボリュームモデル
0003: // 
0004: // Copyright (c) 2002 IMAGIRE Takashi. All rights reserved.
0005: // -------------------------------------------------------------
0006: #ifndef _CShadowVolume_h_
0007: #define _CShadowVolume_h_
0008: 
0009: #include <d3d9.h>
0010: #include <d3dx9.h>
0011: 
0012: class CShadowVolume {
0013: public:
0014:     struct SHADOW_VOLUME_VERTEX { D3DXVECTOR3 p, n; };
0015:     static const DWORD FVF;
0016: 
0017:     SHADOW_VOLUME_VERTEX*       m_pVertices;    // 頂点データ
0018:     DWORD                       m_dwNumFaces;   // 面の数
0019: public:
0020:     
0021:     CShadowVolume();
0022:     ~CShadowVolume();
0023: 
0024:     HRESULT Create( LPDIRECT3DDEVICE9 pd3dDevice, LPD3DXMESH pObject );// 生成
0025:     VOID Render( LPDIRECT3DDEVICE9 pd3dDevice );    // 描画
0026:     VOID Destroy();                                 // 破棄
0027: };
0028: #endif // !_CShadowVolume_h_
0029: