// Shader_Rain.h: interface for the CShader_Rain class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_SHADER_RAIN_H__8B92D5A3_F3E3_475F_B75F_C6BBF856EF35__INCLUDED_) #define AFX_SHADER_RAIN_H__8B92D5A3_F3E3_475F_B75F_C6BBF856EF35__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "ShaderScene.h" #define SPLASH_RATIOS 1 class RainVertex { public: D3DXVECTOR3 vecPos; D3DXVECTOR3 vecNormal; float fLoop; RainVertex() : vecPos(0.0f,0.0f,0.0f),vecNormal(0.0f,0.0f,0.0f),fLoop(0.0f) {} }; class CShader_RainV; class CShader_Rain : public CShaderScene { public: CShader_Rain(); virtual ~CShader_Rain(); virtual void Apply(); virtual void UnApply(); protected: CShader_RainV *m_pVertexShader; LPDIRECT3DDEVICE8 m_pDevice; }; // float CalcTriangleArea(D3DXVECTOR3 vecA,D3DXVECTOR3 vecB,D3DXVECTOR3 vecC); void CreateRainBuffer(LPDIRECT3DVERTEXBUFFER8 pRainBuffer,DWORD &dwVertsNum,D3DXVECTOR3 *pPos,D3DXVECTOR3 *pNormal,WORD *pIndex,int iIndexNum); #endif // !defined(AFX_SHADER_RAIN_H__8B92D5A3_F3E3_475F_B75F_C6BBF856EF35__INCLUDED_)