⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frustum.h

📁 3D赛车游戏源代码-用Visual Studio 2005
💻 H
字号:
//////////////////////////////////////////////////////////////////////////
//  CFrustum类,平截头体,剔除物体用。
//
//  Frustum.h: CFrustum类的声明
//
//  Copy Rights Wonderful 2006
//////////////////////////////////////////////////////////////////////////

#ifndef __FRUSTUM_H_INCLUDED__
#define __FRUSTUM_H_INCLUDED__

#include "Plane.h"

//-------------------------------------------------------------------------------
// 前向声明
//-------------------------------------------------------------------------------
class Vector3;
class CSphere;
class AABB3;

//-------------------------------------------------------------------------------
// 平截头体类
//-------------------------------------------------------------------------------
class CFrustum 
{
public:
	// 每次摄像机移动后都重新计算一次平截头体每个面
	void CalculateFrustum();

	// 判断一个3D点是否在平截头体内
	bool PointInFrustum(const Vector3 &point);

	// 判断一个3D球是否在平截头体内
	bool SphereInFrustum(const CSphere &sphere);

	// 判断一个轴对称包围盒是否在平截头体内
	bool CubeInFrustum(const AABB3& box);

private:
	CPlane m_Frustum[6];		// 保存平截头体6个平面
};

//-------------------------------------------------------------------------------
// 平截头体全局对象
//-------------------------------------------------------------------------------
extern CFrustum g_Frustum;

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -