  We present a hybrid multi-volume rendering approach based on a novel
Residency Octree that combines the advantages of out-of-core volume rendering
using page tables with those of standard octrees. Octree approaches work by
performing hierarchical tree traversal. However, in octree volume rendering,
tree traversal and the selection of data resolution are intrinsically coupled.
This makes fine-grained empty-space skipping costly. Page tables, on the other
hand, allow access to any cached brick from any resolution. However, they do
not offer a clear and efficient strategy for substituting missing
high-resolution data with lower-resolution data. We enable flexible
mixed-resolution out-of-core multi-volume rendering by decoupling the cache
residency of multi-resolution data from a resolution-independent spatial
subdivision determined by the tree. Instead of one-to-one node-to-brick
correspondences, each residency octree node is mapped to a set of bricks from
different resolution levels. This makes it possible to efficiently and
adaptively choose and mix resolutions, adapt sampling rates, and compensate for
cache misses. At the same time, residency octrees support fine-grained
empty-space skipping, independent of the data subdivision used for caching.
Finally, to facilitate collaboration and outreach, and to eliminate local data
storage, our implementation is a web-based, pure client-side renderer using
WebGPU and WebAssembly. Our method is faster than prior approaches and
efficient for many data channels with a flexible and adaptive choice of data
resolution.
