www.pudn.com > 林海血原源代码.zip > FrustumCull.h


// FrustumCull.h: interface for the CFrustumCull class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_FRUSTUMCULL_H__FBDF93B4_E439_11D5_812C_5254AB37CDC9__INCLUDED_) 
#define AFX_FRUSTUMCULL_H__FBDF93B4_E439_11D5_812C_5254AB37CDC9__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
class CFrustumCull   
{ 
public: 
	CFrustumCull(); 
	virtual ~CFrustumCull(); 
 
	void   InitFrustumCull(int halfFOV,int distance); 
	void   UpdateFrustumCull(float rotY); 
    void   BresenhamFill(int startx,int startz,int endx,int endz, 
		                 char *pArray);  
 
//protected: 
	float  m_ViewerRotate; 
    int    m_HalfFOV; 
	int    m_ViewDistance; 
    int    m_ViewerX,m_ViewerZ; 
	int    m_ViewLeftX,m_ViewLeftZ; 
	int    m_ViewRightX,m_ViewRightZ; 
    int    m_FarFoucsX, m_FarFoucsZ; 
	int    m_BackLeftX,m_BackLeftZ; 
	int    m_BackRightX,m_BackRightZ; 
 
    int    m_MaxX,m_MinX; 
	int    m_MaxZ,m_MinZ; 
     
	char   m_LeftArray[128];  // [124]:存储个数   
	char   m_RightArray[128]; // [125]:起始位置    [126]:结束位置 [127]=0: X轴加    [127]=1: Z轴加 
}; 
 
#endif // !defined(AFX_FRUSTUMCULL_H__FBDF93B4_E439_11D5_812C_5254AB37CDC9__INCLUDED_)