// WBEnvPlaneTex.h: interface for the WBEnvPlaneTex class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_WBENVPLANETEX_H__772A0551_BC49_438D_A4EB_BC14383A8447__INCLUDED_) #define AFX_WBENVPLANETEX_H__772A0551_BC49_438D_A4EB_BC14383A8447__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include #include class WBEnvPlaneTex { protected: LPDIRECT3DTEXTURE8 m_pEnvPlaneTexture; LPDIRECT3DSURFACE8 m_pEnvPlaneSurf; LPDIRECT3DSURFACE8 m_pEnvDepthSurf; LPDIRECT3DSURFACE8 m_pBackColorSurf; LPDIRECT3DSURFACE8 m_pBackDepthSurf; D3DXVECTOR3 m_vecPlaneVertex[4]; D3DXVECTOR3 m_vecEyePos; LPDIRECT3DDEVICE8 m_pDevice; D3DXMATRIX m_matBackup; D3DXPLANE m_Plane; D3DVIEWPORT8 m_BackViewPort; D3DVIEWPORT8 m_TexViewPort; int m_iTexSizeX,m_iTexSizeY; public: D3DXMATRIX m_matReflect; WBEnvPlaneTex(); ~WBEnvPlaneTex(); void Init(LPDIRECT3DDEVICE8 pDev,int iSizeX,int iSizeY); void InitClipRange( D3DXVECTOR3 vecA, D3DXVECTOR3 vecB, D3DXVECTOR3 vecC, D3DXVECTOR3 vecD); void RenderBegin(D3DXVECTOR3 vecEye,D3DXMATRIX matWorld,float fWaterHeight); void RenderEnd(); LPDIRECT3DTEXTURE8 GetTexture() { return m_pEnvPlaneTexture;} }; #endif // !defined(AFX_WBENVPLANETEX_H__772A0551_BC49_438D_A4EB_BC14383A8447__INCLUDED_)