八叉树与BSP树演示应用详解
1. 八叉树可视化函数
在处理八叉树时,有一个用于将八叉树的轴对齐边界框(AABB)转换为多边形的函数。这个函数的代码如下:
// frontside rectangle
vcPoints[16] = vcPoints[0];
vcPoints[17] = vcPoints[3];
vcPoints[18] = vcPoints[7];
vcPoints[19] = vcPoints[11];
Poly.Set( &vcPoints[16], 4, nIndis, 6 );
pList->AddPolygon( Poly );
// bottom rectangle
vcPoints[20] = vcPoints[7];
vcPoints[21] = vcPoints[6];
vcPoints[22] = vcPoints[10];
vcPoints[23] = vcPoints[11];
Poly.Set( &vcPoints[20], 4, nIndis, 6 );
pList->AddPolygon( Poly );
} // GetAabbAsPolygons
需要注意的是,这个函数在运行时会动态分配大量内存,因此速度较慢,仅用于实现八叉树的可视化功能,在实际应用中并不需要。
2. 演示应用概述
我们可以创建一个演示应用,该应用使用八叉树和二叉空间分割树(BSP树)进行渲染和碰撞检测。具体来说,应用会从一个简单的关卡文件中加载数据,构建八叉树和BSP树,并在屏幕上渲染几何图形。用户可以使用自由相机
超级会员免费看
订阅专栏 解锁全文
2992

被折叠的 条评论
为什么被折叠?



