BibTeX
@inproceedings{melax-gi2000, title = {Dynamic Plane Shifting BSP Traversal}, author = {Stan Melax}, booktitle = {Proceedings of the Graphics Interface 2000 Conference, May 15-17, 2000, Montr{'{e}}al, Qu{'{e}}bec, Canada}, year = {2000}, month = {May}, pages = {213--220}, url = {http://graphicsinterface.org/wp-content/uploads/gi2000-28.pdf} }
Abstract
Interactive 3D applications require fast detection of objects colliding with the environment. One popular method for fast collision detection is to offset the geometry of the environment according to the dimensions of the object, and then represent the object as a point (and the object's movement as a line segment). Previously, this geometry offset has been done in a preprocessing step and therefore requires knowledge of the object's dimensions before runtime. Furthermore, an extra copy of the environment's geometry is required for each shape used in the application. This paper presents a variation of the BSP tree collision algorithm that shifts the planes in order to offset the geometry of the environment at runtime. To prevent unwanted cases where offset geometry protrudes too much, extra plane equations, which bevel solid cells of space during expansion, are added by simply inserting extra nodes at the bottom of the tree. A simple line segment check can be used for collision detection of a moving object of any size against the environment. Only one BSP tree is needed by the application. This paper also discusses successful application of this technique within a commercial entertainment software product.