You are viewing the course site for a past offering of this course. The current offering may be found here.
Lecture 9: Intro to Ray-Tracing & Accelerating Ray-Scene Intersection (76)
mylinhvu11

This method seems very useful in utilizing rays to illustrate the reflections in images. To clarify, how to we iterate which rays to calculate going through the objects and how many rays would allow the image to have sufficient details?

nociza

@mylinhvu11 I would think that would depend on implementation, but one possible way is to do one ray per pixel (for displaying on a certain resolution screen) as seen in previous examples.

tanjeffreyz

The idea of caching our calculation results seems really good for a stationary viewpoint, but what happens when the viewpoint is moving (like when a player moves in a game)? If a player goes around an object in a circle, won't all cache accesses "miss" leading to recalculation each time? Or is there some way to preprocess some coarse ray traces (similar to mip maps) and adjust them on the fly instead of completely recomputing?

stexus

I'm not seeing the problem with this recursive travel at the moment. Professor Ren mentions the edge case of child2 having the closer intersection compared to child1. In that case, hit1 would return intersection of child1 and hit2 would return that of child2; we then return the closer one, which is hit2. What's wrong with that?

stexus

Actually, I just went back and rewatched and he was talking about why we aren't able to save calculations of the second intersect because of things like the edge case mentioned above.

SeanW0823

I wanted to make sure that my understanding is correct: we are checking both child nodes because we can't guarantee that the intersection with an object in child1, which has a bounding box closer to the ray's origin, is necessarily going to be closer than the ray's intersection with an object in child2.

akshitdewan

Professor mentioned that ideally we want to choose these boxes so they don't overlap much, which approximates the spatial partitioning. My current understanding makes object partitioning seem like just a worse version of spatial partitioning, since we have to check every bounding box now. In what cases is BVH clearly better?

pcg108

I believe that a BVH is related but not directly comparable to spatial partitioning. It makes more sense to partition objects rather than the space itself, given that our end goal is to determine intersections with objects, not just points in space.

You must be enrolled in the course to comment