Interesting how before you takled about it I was thinking that rasterization may be less efficient asymptotically as the number of triangles grow (for fixed image resolution). After all, you have to iterate over *all* triangles, so it's O(N), while with the data structures, with ray casting it can be as low as O(log(N)) no? I get that part of the catch is that you can parallelize the triangle computations in raycasting. But will that be enough to counteract the asymptotic behaviour? I'm thinking that as scene complexity grows, ray casting may become more efficient at some point, unless hardware parallelization grows with it too hmm. I'm not an expert, so I'd be curious to know if my thoughts are in the right direction.
I found a typo in the slides at 34:17: The condition for second is incorrect and should also be (hit1.t
Great Lecture!
Interesting how before you takled about it I was thinking that rasterization may be less efficient asymptotically as the number of triangles grow (for fixed image resolution). After all, you have to iterate over *all* triangles, so it's O(N), while with the data structures, with ray casting it can be as low as O(log(N)) no? I get that part of the catch is that you can parallelize the triangle computations in raycasting. But will that be enough to counteract the asymptotic behaviour? I'm thinking that as scene complexity grows, ray casting may become more efficient at some point, unless hardware parallelization grows with it too hmm. I'm not an expert, so I'd be curious to know if my thoughts are in the right direction.
Occlusion culling methods and object / triangle sorting keeps rasterization performant as you increase the amount of primitives in your scenes.
45:33 The surface area heuristic is derivable from generalized Crofton's formula.
en.wikipedia.org/wiki/Crofton_formula#Applications
The strategy laid out at around 37:00 wouldn't work if the ray started inside one of the bounding boxes no?
I think your opinion is right