Spatial query acceleration structures

As a game grows, testing for collisions quickly becomes excessively expensive when every object has to be tested against every other object. Adding a broad phase collision detection structure to reduce the number of tests is a good first step towards dealing with this problem.

Trial does not ship any spatial query structures itself, but it does already rely on the 3d-spaces library, which offers several different structures that you can choose from to best suit your purpose. Please consult its documentation for more hints on usage.

Some subsystems in the engine also make use of a query structure. Especially the physics subsystem requires one on the physics-system to provide any sort of acceptable performance. The light-cache-render-pass also makes use of a structure to quickly cull lights.

Trial provides handy bridging methods to allow the standard enter, leave, clear, location, and bsize from Trial to be used analogously to the same-named functions provided by 3d-spaces.