|
|
|
|
|
by Derek_MK
2606 days ago
|
|
A sort of ELI5 on this for those that may not be familiar with any of this: Ray tracing algorithms require checking to see if a ray will intersect with objects in a scene. This takes a LOT of time, and if you want this to be interactive ray tracing (e.g. in a game, where you need a frame drawn in a very short time), you have to find ways to reduce the number of objects you're comparing the ray against. A lot of the time this includes culling algorithms, which essentially give you very quick ways to say that a number of objects have literally no way of being intersected by a ray, so you can ignore them. There's also things like bounding volume hierarchies (BVHs), which says things like, if a ray doesn't intersect with a given massive invisible cube that contains objects, then it can't possibly intersect things contained in that cube. This is a bit different of a solution. If I'm understanding it right, this involves simplifying the representation of the objects themselves, so that something that was once a lot of triangles to be checked individually, can now be checked as one object. This means that a) you don't have to check for as many intersections, and b) it uses a lot less memory. |
|
The benchmarks on scenes I have seen have shown that triangle intersection is only 5-10% of the time spent, with shading and texture bandwidth being the rest. So I'm skeptical that accelerated geometry tests will solve the raytracing problem.