Live data from Hacker News

Ray-Strips: A Compact Mesh Representation for Interactive Ray Tracing (2007) [pdf]

gamma.cs.unc.edu

1–10 of 18 posts

Re: Ray-Strips: A Compact Mesh Representation for Interactive Ray Tracing (2007) [pdf]

#3
The important bits can be found at the end of the paper;

> 6.2 Analysis and Limitations

> The results above show that Ray-Strips are an efficient representation for our tested complex benchmarks. In practice, the memory improvements gained from using Ray-Strips are highly dependent on finding sufficiently long triangle strips to build the hierarchy on. Obviously, this makes our approach unsuitable for models without any mesh connectivity (e.g. without any shared vertices). In that case, the Ray-Strip representation shown in Section 4 becomes an indexed triangle list with a standard BVH (just with the addition on the 2-byte header storing the triangle count) and performance gains are lost. However, the memory overhead added is only very small.Therefore, it is unlikely that there will be a significant performance loss compared to using an indexed triangle list to start with.

> Our current implementation uses the stripification library Stripe[0], which was designed for rasterization and unlike many newer approaches works on general meshes without limitations on the input. Since the computed strips can be sub-optimal for ray tracing,it should be quite possible to further improve the performance of our approaches by designing a stripification algorithm that chooses strips based on ray tracing criteria.

> As presented in Section 3 and 4, our system uses a BVH with axis-aligned bounding boxes as the high-level hierarchy, but is important to note that in principle any acceleration structure can be used for the Ray-Strips. We find that a BVH usually provides a reasonable compromise between rendering speed, flexibility and ease of use. It is also easily updateable so that dynamic scenes can be handled efficiently. If maximum performance for a static scene is desired, a kd-tree may be a better choice and might reduce the memory footprint slightly. Note that Ray-Strips can be updated in the same manner as BVHs, but have the limitation that mesh connectivity cannot change in the animation, e.g. objects cannot “break”.

[0] I can't find this anywhere on the internet. Here is the DOI for the IEEE paper cited (which does not mention this library), DOI: 10.1109/VISUAL.1996.568125

Re: Ray-Strips: A Compact Mesh Representation for Interactive Ray Tracing (2007) [pdf]

#6
post #3

The important bits can be found at the end of the paper; > 6.2 Analysis and Limitations > The results above show that Ray-Strips are an efficient representation for our tested complex benchmarks. In practice, the memory improvements gained from using Ray-Strips are highly dependent on finding sufficiently long triangle strips to build the hierarchy on. Obviously, this makes our approach unsuitable for models without…

[deleted]

Re: Ray-Strips: A Compact Mesh Representation for Interactive Ray Tracing (2007) [pdf]

#7
post #5

This was 2007. Is this used in production these days? If not, what else is used instead?

Most systems that I am aware of use a plain BVH. Memory requirements for the acceleration structure are not that much of a concern in most cases. Memory hogs typically are (in descending order) volumetric data (smoke/fire/...), textures and only then geometry. And because a BVH leaf node typically contains a few triangles, the BVH itself is always smaller than the geometry data.

Re: Ray-Strips: A Compact Mesh Representation for Interactive Ray Tracing (2007) [pdf]

#9
post #8

I wonder if any of this is implemented in OpenVDB[0]? [0] https://www.openvdb.org/

No, OpenVDB solves the completely unrelated problem of keeping huge volume data sets in memory for efficient monte carlo sampling. This ray strip paper deals with tiangulated surface meshes, which are completely unrelated data structures in an unrelated domain (2d surfaces embedded in a 2d domain versus a discretely, regularly sampled 3d function).
Post reply on HN