LightFog.h
上传用户:cydong117
上传日期:2009-11-10
资源大小:638k
文件大小:2k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. /******************************************************************************************************************
  2.                                                                                                                    
  3. 葛碘疙:
  4. 累己磊:
  5. 累己老:
  6. [老磊][荐沥磊] : 荐沥 郴侩
  7.                                                                                                                    
  8. *******************************************************************************************************************/
  9. #ifndef _CLIGHTFOG_H
  10. #define _CLIGHTFOG_H
  11. class CLightFog
  12. {
  13. public:
  14. CLightFog();
  15. ~CLightFog();
  16. protected:
  17. D3DLVERTEX m_avLight[(NUM_CNTY_LIGHTTILE+1)][(NUM_CNTX_LIGHTTILE+1)];
  18. D3DLVERTEX m_avSaveLight[(NUM_CNTY_LIGHTTILE+1)][(NUM_CNTX_LIGHTTILE+1)];
  19. WORD m_pwLightIndices[NUM_LIGHTTILE_INDICES];
  20. DWORD m_dwLightColor;
  21. public:
  22. VOID Init(DWORD dwLightColor);
  23. VOID ShowLightFog(WORD wScrnWidth = 400, WORD wScrnHeight =300);
  24. // 货肺 官诧 祸阑 m_avSaveLight俊 历厘矫挪促.
  25. VOID ChangeLightColor(DWORD dwColor);
  26. VOID ClearSavedLightColor();
  27. BOOL GetScreenPosToLightTile(INT nX, INT nY, INT* nTileX, INT* nTileY);
  28. BOOL SetLightRadiusWithRing(INT XLightPos, INT YLightPos, INT nSmallRadius, 
  29.    INT nSmallRed, INT nSmallGreen, INT nSmallBlue, 
  30.    INT nLargeRadius,
  31.    INT nLargeRed, INT nLargeGreen, INT nLargeBlue);
  32. BOOL SetLightRadiusWithCircle(INT XLightPos, INT YLightPos, INT nRadius,
  33.  INT nRedValue, INT nGreenValue, INT nBlueValue, 
  34.  FLOAT rDrakRate = 1.0f);
  35. BOOL SetLightRadiusWithElipse(INT XLightPos, INT YLightPos, INT nXRadius, INT nYRadius, 
  36.                              INT nRedValue, INT nGreenValue, INT nBlueValue, 
  37.  FLOAT rDrakRate = 1.0f);
  38. };
  39. #endif // _CLIGHTFOG_H