@jerrypiglet $S_N$ is the surface area of object $N$. For a BVH, this would be the bounding box of a BVH node. When you are constructing your BVH nodes, you are partitioning the primitives. Let's say you are partitioning primitives in $P$ into $PL$ and $PR$. Then $S_{PL}$ and $S_{PR}$ would be the surface area of the bounding boxes that has all primitives in $PL$ and $PR$ respectively. This gives a good estimate of the chance a random ray hits a node in the BVH.

jerrypiglet

@skygao Oh I see... Thank you!

lucida

can't these surface area weights add up to more than 1 if we have overlapping bounding boxes?

kayvonf

@lucida. Correct, these weights are simply part of a cost metric. There is no requirement that they sum to 1. In fact, if the boxes are non-overlapping the sum of the weights will be less than 1.

lucida

It is correct to say that when calculating SAH to find the best partition of primitives in a given node, cost of intersection and cost of traversal to this node are irrelevant since they are constant across all possible partitions? So we really only need to compute $$S_a/S_n * N_a$$ and $$S_b/S_n * N_b$$ for each partition?

What's the $S_N$ notation for in this slide?

@jerrypiglet $S_N$ is the surface area of object $N$. For a BVH, this would be the bounding box of a BVH node. When you are constructing your BVH nodes, you are partitioning the primitives. Let's say you are partitioning primitives in $P$ into $PL$ and $PR$. Then $S_{PL}$ and $S_{PR}$ would be the surface area of the bounding boxes that has all primitives in $PL$ and $PR$ respectively. This gives a good estimate of the chance a random ray hits a node in the BVH.

@skygao Oh I see... Thank you!

can't these surface area weights add up to more than 1 if we have overlapping bounding boxes?

@lucida. Correct, these weights are simply part of a cost metric. There is no requirement that they sum to 1. In fact, if the boxes are non-overlapping the sum of the weights will be less than 1.

It is correct to say that when calculating SAH to find the best partition of primitives in a given node, cost of intersection and cost of traversal to this node are irrelevant since they are constant across all possible partitions? So we really only need to compute $$S_a/S_n * N_a$$ and $$S_b/S_n * N_b$$ for each partition?