Lecture 9: Ray Tracing & Acceleration Structures (71)
jayc809

The BVH technique got me thinking about how the object groupings may change over time. For example, if objects are moving or changing shape, will we stick with the same grouping or will we adjust them dynamically. I would assume that it would make sense to adjust them as it would be more efficient to group them based on their general relative positions, but perhaps the exact algorithm requires some heuristics.

pranavkolluri

For the question above, I wonder what the overhead is for building the BVH again per frame. In a scenario where you have several fast moving objects (say cars) that are traversing your scene, it would be hard to use the original grouping on them, making me think it would almost make more sense to just redraw the boxes every frame or perhaps every other frame. I wonder that if given motion vectors, you could redraw ever several frames and in between interpolate based on motion.

zeddybot

It is interesting to think about interpolating the bounding boxes between frames based on motion. If we already know the exact path that an object will travel, it is easy to compute the bounding box at a given time as a linear interpolation between the bounding box's position at a previous time and a future time. However, when we have to compute the bounding boxes dynamically in real time (e.g., for rendering a game), we don't know the future position. In this case, it makes sense to extrapolate what the future position will be based on the current position and the velocity/acceleration of the object. In both these cases though, we risk having the bounding box misaligned with the object, which could cause the object to not render properly, e.g. if some part of the object is not contained in the bounding box, the ray could intersect this portion of the object without intersecting the bounding box, which means that we would never check if the ray intersects the object since it doesn't intersect the objects bounding box.

brianqch

The comments above introduce some interesting ideas about how moving objects can affect the bounding boxes. One idea that I had was to also include velocity, trajectory, and any other important information as attributes that could be then used to determine a larger spatial region in which these objects could live in. I'm not sure how effective this information could be but I imagine that it could help with determining an initial region where generalizations could be made about the objects themselves and then we could create more bounding boxes within those regions.

You must be enrolled in the course to comment