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_)