Rendering Large Volume Datasets in Unreal Engine 5: A Survey

📅 2025-04-10
📈 Citations: 0
Influential: 0
📄 PDF

career value

233K/year
🤖 AI Summary
Real-time rendering of large-scale sparse volumetric data in Unreal Engine 5 (UE5) suffers from lighting artifacts at tile boundaries, GPU memory limitations, and a fundamental scalability bottleneck caused by int32 coordinate overflow in UE5’s native Sparse Voxel Tree (SVT) module. Method: We propose a Heterogeneous Volumes (HV) optimization framework. First, we systematically fix the int32 overflow in UE5’s SVT, enabling support for volumes up to 32k×32k×16k. Second, we introduce the HV data structure to eliminate lighting discontinuities inherent in conventional tiling. Third, we integrate GPU-accelerated 64-bit arithmetic and streaming-based memory management. Results: Our approach achieves stable real-time rendering of compressed 4-gigavoxel volumetric datasets at interactive frame rates, completely eliminating boundary lighting artifacts. It surpasses UE5’s native SVT limit of ≤1 gigavoxel per tile and establishes a foundation for out-of-core, streaming-based rendering of ultra-large-scale volumetric data.

Technology Category

Application Category

📝 Abstract
In this technical report, we discuss several approaches to in-core rendering of large volumetric datasets in Unreal Engine 5 (UE5). We explore the following methods: the TBRayMarcher Plugin, the Niagara Fluids Plugin , and various approaches using Sparse Volume Textures (SVT), with a particular focus on Heterogeneous Volumes (HV). We found the HV approach to be the most promising. The biggest challenge we encountered with other approaches was the need to chunk datasets so that each fits into volume textures smaller than one gigavoxel. While this enables display of the entire dataset at reasonable frame rates, it introduces noticeable artifacts at chunk borders due to incorrect lighting, as each chunk lacks information about its neighbors. After addressing some (signed) int32 overflows in the Engine's SVT-related source code by converting them to to (unsigned) uint32 or int64, the SVT-based HV system allows us to render sparse datasets up to 32k x 32k x 16k voxels, provided the compressed tile data (including MIP data and padding for correct interpolation) does not exceed 4 gigavoxels. In the future, we intend to extend the existing SVT streaming functionality to support out-of-core rendering, in order to eventually overcome VRAM limitations, graphics API constraints, and the performance issues associated with 64-bit arithmetic in GPU shaders.
Problem

Research questions and friction points this paper is trying to address.

Rendering large volumetric datasets in UE5 efficiently
Overcoming chunking artifacts and lighting issues in volumes
Extending SVT for out-of-core rendering to bypass VRAM limits
Innovation

Methods, ideas, or system contributions that make the work stand out.

TBRayMarcher Plugin for volumetric rendering
Sparse Volume Textures (SVT) for large datasets
Heterogeneous Volumes (HV) as most promising approach