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 (56)
TinnaLiu

How do you decide which side to recursively split? For example, after splitting A to get 1 and B, how do you decide whether to recursively split 1 or split B?

saltyminty

One of the mentioned splitting stopping conditions was the number of nodes in the subtree. Potentially since 1 only has two nodes, the tree decides to stop splitting?

StaffDanCubed

Also what exactly happens when a ray hits one of these boxes? Suppose we detect that a ray passes through the blue box (1), but we still do not know if it intersects with any of the circles: this means that we will have to subdivide again, so do we perform another KD-Tree split, or just uniform partition? Or maybe KD-Tree for the larger blocks, and uniform partition for the smaller ones? I suppose this also naturally lead into the question of how we can determine whether KD-Tree is better than uniform for any given scene.

LeslieTrue

Find a possible separation heursitic which is based on the standard diviation of the distribution of points in X/Y/Z. For the target subset of objects that we want to furthurly spearate, the way is to separate it on the axis with highest std.

I'm not sure if there's other method.

geos98

@DanCubed, I believe just like in the uniform grid case, when you detect a ray hits the box, you would then run a exhaustive (original) ray-surface intersection detection algorithm mentioned at the beginning of the slides on all objects in this box. Now, my understanding (and correct me if I am wrong) here is since there are at most 2 (in this case) objects in a box, you would (at maximum) run 2 * #boxes hit * #pixels ray-surface intersection detection algorithm instead of the naive #object * #pixels. Which is the optimization here.

You must be enrolled in the course to comment