in my user geometry I need to keep track of all primitives (kind of basis functions / splats with finite support) which are hit along each ray in sorted order. So basically the ray should store a list of the currently intersected bounding boxes, which is updated whenever a new box is intersected or a previous box is left. Logically, I want to traverse the ray-box overlap intervals along the ray in sorted order and know in each interval which boxes are currently active in that interval. Each interval could return a successful surface intersection, terminating the sampling along the ray.
The API documentation states that "filter functions can be used to [...] collecting all hits along a ray". Might this be a possible approach? To first collect all intersections, then sort them. But what would be a good way to store the active list of boxes per ray? And where would the sorting and intersection computation happen?
Thanks in advance!