FrustumCull.h
上传用户:hkb425
上传日期:2007-06-16
资源大小:34191k
文件大小:1k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. // FrustumCull.h: interface for the CFrustumCull class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_FRUSTUMCULL_H__FBDF93B4_E439_11D5_812C_5254AB37CDC9__INCLUDED_)
  5. #define AFX_FRUSTUMCULL_H__FBDF93B4_E439_11D5_812C_5254AB37CDC9__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. class CFrustumCull  
  10. {
  11. public:
  12. CFrustumCull();
  13. virtual ~CFrustumCull();
  14. void   InitFrustumCull(int halfFOV,int distance);
  15. void   UpdateFrustumCull(float rotY);
  16.     void   BresenhamFill(int startx,int startz,int endx,int endz,
  17.                  char *pArray); 
  18. //protected:
  19. float  m_ViewerRotate;
  20.     int    m_HalfFOV;
  21. int    m_ViewDistance;
  22.     int    m_ViewerX,m_ViewerZ;
  23. int    m_ViewLeftX,m_ViewLeftZ;
  24. int    m_ViewRightX,m_ViewRightZ;
  25.     int    m_FarFoucsX, m_FarFoucsZ;
  26. int    m_BackLeftX,m_BackLeftZ;
  27. int    m_BackRightX,m_BackRightZ;
  28.     int    m_MaxX,m_MinX;
  29. int    m_MaxZ,m_MinZ;
  30.     
  31. char   m_LeftArray[128];  // [124]:存储个数  
  32. char   m_RightArray[128]; // [125]:起始位置    [126]:结束位置 [127]=0: X轴加    [127]=1: Z轴加
  33. };
  34. #endif // !defined(AFX_FRUSTUMCULL_H__FBDF93B4_E439_11D5_812C_5254AB37CDC9__INCLUDED_)