lovewhatilove 发表于 2009-8-31 19:54:00

bsp:关于剔除多余PORT

关于PORT的生成和BSP的分割可以查看“天堂里的死神”的译文和SAYA3D的“关于如何剔除多余PORTS”一文。。

我想研究过BSP的分割和PORT生成的人都会有自己的办法解决多余PORT的剔除的。
在这里我说说我的点看法。
首先PORT是由连接该PORT的两个子节点切割NODE分割面得到的(当然还包括父节点中出现的分割面),多余PORT的生成主要是在选择对应分割面的子节点上。
所以我们要想办法剔除掉不必要的子节点,如何剔除:
我们很清楚叶子NODE与分割面相切(这点我不敢完全肯定,但是至少我没有想出任何特殊清楚不满足这个条件)才可能是我们想要的,否则剔除。这样我们可以剔除一系列的无用节点。剔除过程可以采用先包围盒,再顶点。这样可以更快。
通过这个过程我们得到关于某个分割面的正反面可能的叶子节点,然后对他们做双重FOR循环的一一配对,进行对分割面所生成的足够大的矩形进行切割,这个过程中我们又可以通过
一定方法剔除些无用的配对(如两个叶子节点的中心距离大于他们半径之和,那么矩形肯定被切割没了,通过这样可以很有效的快速剔除)。
废话到此,觉得有问题的指出~

展翅飞翔 发表于 2011-2-23 17:56:51

顶一个先~~{:3_140:}
放飞梦想~。
页: [1]
查看完整版本: bsp:关于剔除多余PORT