Operations on the Octree
Because our Octree serves as an acceleration structure to the
Scene class, we want to implement the same operations
Scene supports in Octree. This means we need to implement the same
Query functions that the Scene class already supports.
In this section, we are going to implement
Query functions for our new Octree. In order to implement the
Raycast function, we will create a
FindClosest helper function. The
FindClosest function takes a set of models and a ray, and then returns the closest object to the origin of the ray.
How to do it…
Follow these steps to add
Raycast and query functionality to the octree:
- Declare the
Model* FindClosest(conststd::vector<Model*>& ...