-
Standardized Data-Parallel Rendering Using ANARI
Authors:
Ingo Wald,
Stefan Zellmann,
Jefferson Amstutz,
Qi Wu,
Kevin Griffin,
Milan Jaros,
Stefan Wesner
Abstract:
We propose and discuss a paradigm that allows for expressing \emph{data-parallel} rendering with the classically non-parallel ANARI API. We propose this as a new standard for data-parallel sci-vis rendering, describe two different implementations of this paradigm, and use multiple sample integrations into existing apps to show how easy it is to adopt this paradigm, and what can be gained from doin…
▽ More
We propose and discuss a paradigm that allows for expressing \emph{data-parallel} rendering with the classically non-parallel ANARI API. We propose this as a new standard for data-parallel sci-vis rendering, describe two different implementations of this paradigm, and use multiple sample integrations into existing apps to show how easy it is to adopt this paradigm, and what can be gained from doing so.
△ Less
Submitted 28 June, 2024;
originally announced July 2024.
-
A Practical Guide to Implementing Off-Axis Stereo Projection Using Existing Ray Tracing Libraries
Authors:
Stefan Zellmann,
Jeff Amstutz
Abstract:
Virtual reality (VR) renderers driving CAVEs and similar immersive environments use the off-axis stereo camera model so that a tracked user can move freely in front of the projection plane. Geometrically, off-axis projection results in asymmetric viewing frusta and generalizes the ubiquitous perspective camera model to support positioning off the center of the projection plane. VR renderers often…
▽ More
Virtual reality (VR) renderers driving CAVEs and similar immersive environments use the off-axis stereo camera model so that a tracked user can move freely in front of the projection plane. Geometrically, off-axis projection results in asymmetric viewing frusta and generalizes the ubiquitous perspective camera model to support positioning off the center of the projection plane. VR renderers often integrate with larger visualization systems that rely on libraries for position tracking and pose estimates, for ray tracing-based rendering, and for user interaction. We demonstrate different strategies to implement off-axis stereo projection within the constraints of given VR applications and ray tracing libraries. We aim for minimal to no adjustments required to the internal camera representation of such libraries. We include host and shader code with the article that can be directly integrated in custom applications.
△ Less
Submitted 18 November, 2023; v1 submitted 10 November, 2023;
originally announced November 2023.
-
Immersive ExaBrick: Visualizing Large AMR Data in the CAVE
Authors:
Zhaoyang Wang,
Stefan Wesner,
Stefan Zellmann
Abstract:
Rendering large adaptive mesh refinement (AMR) data in real-time in virtual reality (VR) environments is a complex challenge that demands sophisticated techniques and tools. The proposed solution harnesses the ExaBrick framework and integrates it as a plugin in COVISE, a robust visualization system equipped with the VR-centric OpenCOVER render module. This setup enables direct navigation and inter…
▽ More
Rendering large adaptive mesh refinement (AMR) data in real-time in virtual reality (VR) environments is a complex challenge that demands sophisticated techniques and tools. The proposed solution harnesses the ExaBrick framework and integrates it as a plugin in COVISE, a robust visualization system equipped with the VR-centric OpenCOVER render module. This setup enables direct navigation and interaction within the rendered volume in a VR environment. The user interface incorporates rendering options and functions, ensuring a smooth and interactive experience. We show that high-quality volume rendering of AMR data in VR environments at interactive rates is possible using GPUs.
△ Less
Submitted 4 October, 2023;
originally announced October 2023.
-
Visual Analysis of Large Multi-Field AMR Data on GPUs Using Interactive Volume Lines
Authors:
Stefan Zellmann,
Serkan Demirci,
Uğur Güdükbay
Abstract:
To visually compare ensembles of volumes, dynamic volume lines (DVLs) represent each ensemble member as a 1D polyline. To compute these, the volume cells are sorted on a space-filling curve and scaled by the ensemble's local variation. The resulting 1D plot can augment or serve as an alternative to a 3D volume visualization free of visual clutter and occlusion. Interactively computing DVLs is chal…
▽ More
To visually compare ensembles of volumes, dynamic volume lines (DVLs) represent each ensemble member as a 1D polyline. To compute these, the volume cells are sorted on a space-filling curve and scaled by the ensemble's local variation. The resulting 1D plot can augment or serve as an alternative to a 3D volume visualization free of visual clutter and occlusion. Interactively computing DVLs is challenging when the data is large, and the volume grid is not structured/regular, as is often the case with computational fluid dynamics simulations. We extend DVLs to support large-scale, multi-field adaptive mesh refinement (AMR) data that can be explored interactively. Our GPU-based system updates the DVL representation whenever the data or the alpha transfer function changes. We demonstrate and evaluate our interactive prototype using large AMR volumes from astrophysics simulations.
△ Less
Submitted 20 June, 2023;
originally announced June 2023.
-
Beyond ExaBricks: GPU Volume Path Tracing of AMR Data
Authors:
Stefan Zellmann,
Qi Wu,
Alper Sahistan,
Kwan-Liu Ma,
Ingo Wald
Abstract:
Adaptive Mesh Refinement (AMR) is becoming a prevalent data representation for scientific visualization. Resulting from large fluid mechanics simulations, the data is usually cell centric, imposing a number of challenges for high quality reconstruction at sample positions. While recent work has concentrated on real-time volume and isosurface rendering on GPUs, the rendering methods used still focu…
▽ More
Adaptive Mesh Refinement (AMR) is becoming a prevalent data representation for scientific visualization. Resulting from large fluid mechanics simulations, the data is usually cell centric, imposing a number of challenges for high quality reconstruction at sample positions. While recent work has concentrated on real-time volume and isosurface rendering on GPUs, the rendering methods used still focus on simple lighting models without scattering events and global illumination. As in other areas of rendering, key to real-time performance are acceleration data structures; in this work we analyze the major bottlenecks of data structures that were originally optimized for camera/primary ray traversal when used with the incoherent ray tracing workload of a volumetric path tracer, and propose strategies to overcome the challenges coming with this.
△ Less
Submitted 2 December, 2023; v1 submitted 17 November, 2022;
originally announced November 2022.
-
GPU-based Data-parallel Rendering of Large, Unstructured, and Non-convexly Partitioned Data
Authors:
Alper Sahistan,
Serkan Demirci,
Ingo Wald,
Stefan Zellmann,
João Barbosa,
Nathan Morrical,
Uğur Güdükbay
Abstract:
Computational fluid dynamic simulations often produce large clusters of finite elements with non-trivial, non-convex boundaries and uneven distributions among compute nodes, posing challenges to compositing during interactive volume rendering. Correct, in-place visualization of such clusters becomes difficult because viewing rays straddle domain boundaries across multiple compute nodes. We propose…
▽ More
Computational fluid dynamic simulations often produce large clusters of finite elements with non-trivial, non-convex boundaries and uneven distributions among compute nodes, posing challenges to compositing during interactive volume rendering. Correct, in-place visualization of such clusters becomes difficult because viewing rays straddle domain boundaries across multiple compute nodes. We propose a GPU-based, scalable, memory-efficient direct volume visualization framework suitable for in~situ and post~hoc usage. Our approach reduces memory usage of the unstructured volume elements by leveraging an exclusive or-based index reduction scheme and provides fast ray-marching-based traversal without requiring large external data structures built over the elements themselves. Moreover, we present a GPU-optimized deep compositing scheme that allows correct order compositing of intermediate color values accumulated across different ranks that works even for non-convex clusters. Our method scales well on large data-parallel systems and achieves interactive frame rates during visualization. We can interactively render both Fun3D Small Mars Lander (14 GB / 798.4 million finite elements) and Huge Mars Lander (111.57 GB / 6.4 billion finite elements) data sets at 14 and 10 frames per second using 72 and 80 GPUs, respectively, on TACC's Frontera supercomputer.
△ Less
Submitted 28 September, 2022;
originally announced September 2022.
-
KiloNeuS: A Versatile Neural Implicit Surface Representation for Real-Time Rendering
Authors:
Stefano Esposito,
Daniele Baieri,
Stefan Zellmann,
André Hinkenjann,
Emanuele Rodolà
Abstract:
NeRF-based techniques fit wide and deep multi-layer perceptrons (MLPs) to a continuous radiance field that can be rendered from any unseen viewpoint. However, the lack of surface and normals definition and high rendering times limit their usage in typical computer graphics applications. Such limitations have recently been overcome separately, but solving them together remains an open problem. We p…
▽ More
NeRF-based techniques fit wide and deep multi-layer perceptrons (MLPs) to a continuous radiance field that can be rendered from any unseen viewpoint. However, the lack of surface and normals definition and high rendering times limit their usage in typical computer graphics applications. Such limitations have recently been overcome separately, but solving them together remains an open problem. We present KiloNeuS, a neural representation reconstructing an implicit surface represented as a signed distance function (SDF) from multi-view images and enabling real-time rendering by partitioning the space into thousands of tiny MLPs fast to inference. As we learn the implicit surface locally using independent models, resulting in a globally coherent geometry is non-trivial and needs to be addressed during training. We evaluate rendering performance on a GPU-accelerated ray-caster with in-shader neural network inference, resulting in an average of 46 FPS at high resolution, proving a satisfying tradeoff between storage costs and rendering quality. In fact, our evaluation for rendering quality and surface recovery shows that KiloNeuS outperforms its single-MLP counterpart. Finally, to exhibit the versatility of KiloNeuS, we integrate it into an interactive path-tracer taking full advantage of its surface normals. We consider our work a crucial first step toward real-time rendering of implicit neural representations under global illumination.
△ Less
Submitted 21 November, 2022; v1 submitted 22 June, 2022;
originally announced June 2022.
-
Volkit: A Performance-Portable Computer Vision Library for 3D Volumetric Data
Authors:
Stefan Zellmann,
Giovanni Aguirre,
Jürgen P. Schulze
Abstract:
We present volkit, an open source library with high performance implementations of image manipulation and computer vision algorithms that focus on 3D volumetric representations. Volkit implements a cross-platform, performance-portable API targeting both CPUs and GPUs that defers data and resource movement and hides them from the application developer using a managed API. We use volkit to process m…
▽ More
We present volkit, an open source library with high performance implementations of image manipulation and computer vision algorithms that focus on 3D volumetric representations. Volkit implements a cross-platform, performance-portable API targeting both CPUs and GPUs that defers data and resource movement and hides them from the application developer using a managed API. We use volkit to process medical and simulation data that is rendered in VR and consequently integrated the library into the C++ virtual reality software CalVR. The paper presents case studies and performance results and by that demonstrates the library's effectiveness and the efficiency of this approach.
△ Less
Submitted 18 March, 2022;
originally announced March 2022.
-
Point Containment Queries on Ray Tracing Cores for AMR Flow Visualization
Authors:
Stefan Zellmann,
Daniel Seifried,
Nate Morrical,
Ingo Wald,
Will Usher,
Jamie A. P. Law-Smith,
Stefanie Walch-Gassner,
André Hinkenjann
Abstract:
Modern GPUs come with dedicated hardware to perform ray/triangle intersections and bounding volume hierarchy (BVH) traversal. While the primary use case for this hardware is photorealistic 3D computer graphics, with careful algorithm design scientists can also use this special-purpose hardware to accelerate general-purpose computations such as point containment queries. This article explains the p…
▽ More
Modern GPUs come with dedicated hardware to perform ray/triangle intersections and bounding volume hierarchy (BVH) traversal. While the primary use case for this hardware is photorealistic 3D computer graphics, with careful algorithm design scientists can also use this special-purpose hardware to accelerate general-purpose computations such as point containment queries. This article explains the principles behind these techniques and their application to vector field visualization of large simulation data using particle tracing.
△ Less
Submitted 24 February, 2022;
originally announced February 2022.
-
Ray Tracing Structured AMR Data Using ExaBricks
Authors:
Ingo Wald,
Stefan Zellmann,
Will Usher,
Nate Morrical,
Ulrich Lang,
Valerio Pascucci
Abstract:
Structured Adaptive Mesh Refinement (Structured AMR) enables simulations to adapt the domain resolution to save computation and storage, and has become one of the dominant data representations used by scientific simulations; however, efficiently rendering such data remains a challenge. We present an efficient approach for volume- and iso-surface ray tracing of Structured AMR data on GPU-equipped w…
▽ More
Structured Adaptive Mesh Refinement (Structured AMR) enables simulations to adapt the domain resolution to save computation and storage, and has become one of the dominant data representations used by scientific simulations; however, efficiently rendering such data remains a challenge. We present an efficient approach for volume- and iso-surface ray tracing of Structured AMR data on GPU-equipped workstations, using a combination of two different data structures. Together, these data structures allow a ray tracing based renderer to quickly determine which segments along the ray need to be integrated and at what frequency, while also providing quick access to all data values required for a smooth sample reconstruction kernel. Our method makes use of the RTX ray tracing hardware for surface rendering, ray marching, space skipping, and adaptive sampling; and allows for interactive changes to the transfer function and implicit iso-surfacing thresholds. We demonstrate that our method achieves high performance with little memory overhead, enabling interactive high quality rendering of complex AMR data sets on individual GPU workstations.
△ Less
Submitted 7 September, 2020;
originally announced September 2020.
-
Accelerating Force-Directed Graph Drawing with RT Cores
Authors:
Stefan Zellmann,
Martin Weier,
Ingo Wald
Abstract:
Graph drawing with spring embedders employs a V x V computation phase over the graph's vertex set to compute repulsive forces. Here, the efficacy of forces diminishes with distance: a vertex can effectively only influence other vertices in a certain radius around its position. Therefore, the algorithm lends itself to an implementation using search data structures to reduce the runtime complexity.…
▽ More
Graph drawing with spring embedders employs a V x V computation phase over the graph's vertex set to compute repulsive forces. Here, the efficacy of forces diminishes with distance: a vertex can effectively only influence other vertices in a certain radius around its position. Therefore, the algorithm lends itself to an implementation using search data structures to reduce the runtime complexity. NVIDIA RT cores implement hierarchical tree traversal in hardware. We show how to map the problem of finding graph layouts with force-directed methods to a ray tracing problem that can subsequently be implemented with dedicated ray tracing hardware. With that, we observe speedups of 4x to 13x over a CUDA software implementation.
△ Less
Submitted 25 August, 2020;
originally announced August 2020.
-
Augmenting Image Warping-Based Remote Volume Rendering with Ray Tracing
Authors:
Stefan Zellmann
Abstract:
We propose an image warping-based remote rendering technique for volumes that decouples the rendering and display phases. Our work builds on prior work that samples the volume on the client using ray casting and reconstructs a z-value based on some heuristic. The color and depth buffer are then sent to the client that reuses this depth image as a stand-in for subsequent frames by warping it accord…
▽ More
We propose an image warping-based remote rendering technique for volumes that decouples the rendering and display phases. Our work builds on prior work that samples the volume on the client using ray casting and reconstructs a z-value based on some heuristic. The color and depth buffer are then sent to the client that reuses this depth image as a stand-in for subsequent frames by warping it according to the current camera position until new data was received from the server. We augment that method by implementing the client renderer using ray tracing. By representing the pixel contributions as spheres, this allows us to effectively vary their footprint based on the distance to the viewer, which we find to give better results than point-based rasterization when applied to volumetric data sets.
△ Less
Submitted 25 June, 2020;
originally announced June 2020.
-
Adding Custom Intersectors to the C++ Ray Tracing Template Library Visionaray
Authors:
Stefan Zellmann
Abstract:
Most ray tracing libraries allow the user to provide custom functionality that is executed when a potential ray surface interaction was encountered to determine if the interaction was valid or traversal should be continued. This is e.g. useful for alpha mask validation and allows the user to reuse existing ray object intersection routines rather than reimplementing them. Augmenting ray traversal w…
▽ More
Most ray tracing libraries allow the user to provide custom functionality that is executed when a potential ray surface interaction was encountered to determine if the interaction was valid or traversal should be continued. This is e.g. useful for alpha mask validation and allows the user to reuse existing ray object intersection routines rather than reimplementing them. Augmenting ray traversal with custom intersection logic requires some kind of callback mechanism that injects user code into existing library routines. With template libraries, this injection can happen statically since the user compiles the binary code herself. We present an implementation of this "custom intersector" approach and its integration into the C++ ray tracing template library Visionaray.
△ Less
Submitted 29 December, 2019;
originally announced December 2019.
-
Comparing Hierarchical Data Structures for Sparse Volume Rendering with Empty Space Skipping
Authors:
Stefan Zellmann
Abstract:
Empty space skipping can be efficiently implemented with hierarchical data structures such as k-d trees and bounding volume hierarchies. This paper compares several recently published hierarchical data structures with regard to construction and rendering performance. The papers that form our prior work have primarily focused on interactively building the data structures and only showed that render…
▽ More
Empty space skipping can be efficiently implemented with hierarchical data structures such as k-d trees and bounding volume hierarchies. This paper compares several recently published hierarchical data structures with regard to construction and rendering performance. The papers that form our prior work have primarily focused on interactively building the data structures and only showed that rendering performance is superior to using simple acceleration data structures such as uniform grids with macro cells. In the area of surface ray tracing, there exists a trade-off between construction and rendering performance of hierarchical data structures. In this paper we present performance comparisons for several empty space skipping data structures in order to determine if such a trade-off also exists for volume rendering with uniform data topologies.
△ Less
Submitted 19 December, 2019;
originally announced December 2019.