
In this paper, we propose the first approach for real-time extraction and rendering of isosurfaces from scalar volumes as non-trivial persistent meshlets, which are compatible with efficient mesh shader pipelines supported by recent GPUs. Whereas trivial approaches extract from small voxel blocks to ensure that meshlets adhere to geometry size limits, our method partitions and extracts from larger blocks, increasing the number of primitives per meshlet for improved rendering efficiency. Our isosurface extraction method performs fine-grained region analysis and adaptive partitioning of occupied blocks in a task shader stage, followed by efficient meshlet extraction in a mesh shader stage. The region analysis kernel provides the meshlet extraction kernel with compact occupancy information that allows computational resources to be focused on cells that contribute to the isosurface. An extensive analysis reveals that, compared to the state-of-the-art technique, our approach significantly improves extraction and rendering performance and reduces the memory footprint of extracted isosurfaces in most cases.
Parallel rasterization can suffer from race conditions during fragment generation, which is traditionally addressed by using specialized hardware accessible via vendor graphics APIs. Unfortunately, graphics APIs are increasingly problematic on high-performance computers, either because they are not provided or because of concerns about dependencies with in situ visualization. In response, we present a hardware-agnostic rasterization algorithm that handles race conditions using only data-parallel primitives (DPPs), enabling efficient rendering on HPC systems without graphics API dependencies and aligning with recent efforts to deliver visualization software with DPPs. Our evaluation consists of three phases: (1) evaluating portability across different CPU and GPU architectures, (2) evaluating competitiveness with a community standard, and (3) evaluating performance across varying workloads and available parallelism. The supporting experiments run on both AMD and NVIDIA GPUs, considering data sets as large as 460 million triangles and 160 million pixels. While performance generally falls short of graphics API baselines, it achieves interactive frame rates on most workloads. As a result, we conclude our approach is a viable solution for rasterization on high-performance computers since our approach is portably performant across different architectures without the need for specialized vendor support.
Point clouds are an important category of spatial data, commonly acquired from real-world environments via laser scanning or photogrammetry. To enable interactive exploration and domain-specific visualization of large point clouds that exceed main memory capacity, out-of-core rendering techniques are commonly employed. These combine external memory management with level-of-detail approaches by organizing point clouds into chunks of different resolutions that are dynamically loaded from secondary storage based on the virtual viewpoint. An increasingly relevant class of point cloud data is multi-temporal point clouds, which capture the same scene at different points in time. However, existing out-of-core rendering approaches are optimized for spatial navigation and therefore do not adequately support temporal exploration of such data. To address this limitation, we propose an out-of-core rendering approach that explicitly accounts for the tradeoff between spatial and temporal exploration. Beyond determining which point cloud chunks of a hierarchical level-of-detail structure to render in each frame, we compute per-chunk priorities that enable prefetching, perceptually informed loading orders, and effective memory eviction. The parameterizable prioritization integrates both spatial and temporal aspects, allowing flexible control over their balance.