sphere trees for speedy BSPs--game programming gems5

BSP虽然在现代游戏开发中出场机会越来越少,但是在visibility preprocessing, collision detection, polygon sorting中仍旧有良好的应用;

bsp把场景用多个splitter划分为多个区域,并存在树结构中,它有两个重要标准:

1,划分粒度:最好能够划分到polygon级别--精确剔除;

2,平衡数:splitter划分出来的树左右尽可能平衡--搜索时间最小且稳定;

bsp牛x之处在于其明确的划分机制和树状存储方式。

这篇文章中所要优化的就是其构建过程,使用bounding volume tree来使得划分过程变得更加迅速;

bounding volume tree以树的层次方式,以bounding volume为标准来组织场景,这样可以在合适的粒度上对model进行判别操作;

比如在构造bsp的时候,可以判别一个bounding sphere在splitter前边,那么可知其中所有polygon都在前边,如果相交,就顺着bouding sphere tree继续向下找;

听起来很想二分搜索,当然它们是一个东西,树状结构都会带来这种优势--树枝剔除带来的加速和编码便利;

树真的是牛x的数据结构,it's great;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值