游戏引擎笔记(二)场景管理

室内场景管理技术:(通过裁剪的方式减少面片)

BSP:(剔除隐藏面)

通过将场景中的物体(或三角形)有序化,从观察点触发检索BSP,获取已z坐标为关键码的三角形存储表。

Portal:

 

 

室外场景管理技术:

常见的室外场景 管理技术包括四叉树分割LOD和ROAM。

 

四叉树细分:对场景中摄像机能看见的周围一小部分范围进行细分。

越靠近视点范围,细节等级越高。

(对于二维空间,mesh网格)

ROAM:按照三角面片进行细分。

LOD:四叉树和八叉树细分统称LOD。

 

 

四叉树:

每一个四叉树的子节点中, 需要存储5个点的索引,除了四个角的信息外,还需要保存中心的值。

 

平截台体:(视景体)

为了判断一个点是否包含在平截台体内部,需要将点的坐标带入凭借头体6个平面的平面方程式中,如果所有的平面方程式的结果值都是正数,表示该点在平截头体内部。

 

边界球体的剔除:

使用包围物体的球体检测物体与平截头体之间的关系。

 

四叉树的剔除:

四叉树与平截台体相结合可以实现地表的剔除。如果四叉树的父节点不在平截头体内,那么子节点也不在凭借头体内,这时,只要检测父节点在平截头体内部的节点就行了。反复进行这个过程就可以快速的实现四叉树节点的剔除。

 

节点评价:

位于视野范围内的节点,需要通过计算节点与摄像机距离的远近,判别节点应该分割的级别,构造出在视野范围内的更细致的节点细节层级分割。

 

生成待渲染的地形网格:

不可分割子节点:不可再细分。

可分割子节点:可分割子节点需要把正方形分割为三角形。

 

“窟窿”现象:

在进行渲染时,如果相邻节点的LOD分割等级不同,则公共两侧的渲染三角形顶点高度不一样,是最终渲染出来的地形表面出现“窟窿”现象。

为了防止这种现象,需要用合适的三角形来修补。

 

室内场景管理——BSP树:

BSPTrees的英文全称为二维空间分割树,简称二叉树。

你可能感兴趣的:(游戏引擎笔记(二)场景管理)