BSP树的自适应划分
来源:互联网 发布:illustrator mac下载 编辑:程序博客网 时间:2024/06/03 07:58
在BSP树的构造过程中,分割平面的选取决定的BSP树的性能.在场景划分过程中,若选取划分平面不当,对于一个相同的场景生成树的深度可能有很大差异,且最终分割出来的面片数可能是原来的2倍.减少分割,使分割平面两侧的平面数达到最大平衡,不仅可以减少场景树的深度,对场景划分的效率有明显提高.
对于每层的分割,求取分割平面的方法可以通过比较两侧平面数和相交平面数,通过3个数值来求取最小阀值,同过选取小小阀值dif选取分割面
dif = abs(n1 – n2) * a + n3 * b;
其中dif为一个分割平面选取优先阀值,n1为正向平面的数, n2为负向平面数, n3为相交平面数, a为可选正负面片数的重要性权值, b为可选相交面片数重要性权值.当然这两个权值是根据各人需要进行设置,一般来讲,分割面片数越大对后期渲染影响比两侧面片数平衡性的影响要大,所有一般情况下b的值会比a 的要大,b最小也应该设置为a 的2倍.而两侧数目的平衡性将会影响bsp的搜索长度,一棵趋向于平衡的bsp树会明显减少其搜索长度.
若直接随机选择划分的话,从简单的二维场景可以看出,划分的树的搜索长度达到8.
但加入检查后,搜索深度减少到4,优势十分明显.
当然上述公式中只是一个简单的权值比较过程,对每个引擎需要来设置两方面的权值,达到的可能并不是最优解.
- BSP树的自适应划分
- [图形学] 简化的bsp树
- BSP 树
- BSP树
- BSP树
- BSP树
- 2D的BSP树的实现
- Bsp树的实现(非OpenGL)
- Lighty的“自适应”树
- Lighty的“自适应”树
- Lighty的“自适应”树
- Wince的BSP笔记
- BSP的概念
- BSP包的克隆
- VxWorks的BSP开发
- VxWorks的BSP开发
- BSP,讲的很好。
- bsp开发的思想
- 云存储相关网站汇总
- nux内核中Kconfig文档的作用以及Kconfig的语法
- 去掉首尾空格然中间只能有一个空格
- 系统部署
- Listview 和 button imageButton 等共存问题
- BSP树的自适应划分
- DLNA介绍
- UPnP详解
- SQL Server之路必读的N本书(不定期持续更新)(ZZ)
- html 设置span的长度
- Access 操作或事件已被禁用模式阻止
- Git 标签相关操作
- DLNA,DMS介绍
- util.js