Table of Contents
Fetching ...

Aokana: A GPU-Driven Voxel Rendering Framework for Open World Games

Yingrong Fang, Qitong Wang, Wei Wang

TL;DR

Aokana tackles the challenge of real-time open-world voxel rendering on consumer hardware by introducing a GPU-driven framework built on Sparse Voxel DAGs (SVDAG) with per-chunk compression, decoupled color data, and an on-demand Level-of-Detail (LOD) streaming strategy. The pipeline partitions the world into chunks, applies SVDAG-based geometry compression, and employs a separate color compression scheme, all while leveraging a Hi-Z occlusion-based GPU rendering path and a 64-bit visibility buffer to minimize overdraw. Key contributions include the chunk-based SVDAG compression, the decoupled color encoding, the LOD streaming mechanism, and an end-to-end GPU rendering workflow that remains compatible with mesh-based rendering. Empirical results show real-time rendering of scenes with tens of billions of voxels on consumer GPUs, with memory usage reduced up to ninefold and rendering speedups up to 4.8x relative to prior approaches, demonstrating practical viability in Unity.

Abstract

Voxels are among the most popular 3D geometric representations today. Due to their intuitiveness and ease-of-editing, voxels have been widely adopted in stylized games and low-cost independent games. However, the high storage cost of voxels, along with the significant time overhead associated with large-scale voxel rendering, limits the further development of open-world voxel games. In this paper, we introduce Aokana, a GPU-Driven Voxel Rendering Framework for Open World Games. Aokana is based on a Sparse Voxel Directed Acyclic Graph (SVDAG). It incorporates a Level-of-Details (LOD) mechanism and a streaming system, enabling seamless map loading as players traverse the open-world game environment. We also designed a corresponding high-performance GPU-driven voxel rendering pipeline to support real-time rendering of the voxel scenes that contain tens of billions of voxels. Aokana can be directly applied to existing game engines and easily integrated with mesh-based rendering methods, demonstrating its practical applicability in game development. Experimental evaluations show that, with increasing voxel scene resolution, Aokana can reduce memory usage by up to ninefold and achieves rendering speeds up to 4.8 times faster than those of previous state-of-the-art approaches.

Aokana: A GPU-Driven Voxel Rendering Framework for Open World Games

TL;DR

Aokana tackles the challenge of real-time open-world voxel rendering on consumer hardware by introducing a GPU-driven framework built on Sparse Voxel DAGs (SVDAG) with per-chunk compression, decoupled color data, and an on-demand Level-of-Detail (LOD) streaming strategy. The pipeline partitions the world into chunks, applies SVDAG-based geometry compression, and employs a separate color compression scheme, all while leveraging a Hi-Z occlusion-based GPU rendering path and a 64-bit visibility buffer to minimize overdraw. Key contributions include the chunk-based SVDAG compression, the decoupled color encoding, the LOD streaming mechanism, and an end-to-end GPU rendering workflow that remains compatible with mesh-based rendering. Empirical results show real-time rendering of scenes with tens of billions of voxels on consumer GPUs, with memory usage reduced up to ninefold and rendering speedups up to 4.8x relative to prior approaches, demonstrating practical viability in Unity.

Abstract

Voxels are among the most popular 3D geometric representations today. Due to their intuitiveness and ease-of-editing, voxels have been widely adopted in stylized games and low-cost independent games. However, the high storage cost of voxels, along with the significant time overhead associated with large-scale voxel rendering, limits the further development of open-world voxel games. In this paper, we introduce Aokana, a GPU-Driven Voxel Rendering Framework for Open World Games. Aokana is based on a Sparse Voxel Directed Acyclic Graph (SVDAG). It incorporates a Level-of-Details (LOD) mechanism and a streaming system, enabling seamless map loading as players traverse the open-world game environment. We also designed a corresponding high-performance GPU-driven voxel rendering pipeline to support real-time rendering of the voxel scenes that contain tens of billions of voxels. Aokana can be directly applied to existing game engines and easily integrated with mesh-based rendering methods, demonstrating its practical applicability in game development. Experimental evaluations show that, with increasing voxel scene resolution, Aokana can reduce memory usage by up to ninefold and achieves rendering speeds up to 4.8 times faster than those of previous state-of-the-art approaches.
Paper Structure (16 sections, 1 equation, 11 figures, 5 tables)

This paper contains 16 sections, 1 equation, 11 figures, 5 tables.

Figures (11)

  • Figure 1: The rendering pipeline overview. Our voxel rendering passes are inserted between the opaque pass and transparent pass of the forward rendering pipeline.
  • Figure 2: Node structure example. Top left: A voxel region of size $2\times 2\times 2$ containing 4 voxels. Top right: The SVDAG formed by this voxel region. Bottom: The structure of the root node representing the SVDAG for this region. We use a 64-bit bitmap to represent the geometric information of the deepest $4\times 4\times 4$ sub-chunks.
  • Figure 3: A visualization of different LODs. Taking the building located at the center of the image as an example, more details can be observed at lower-level LODs.
  • Figure 4: The camera is located at the green outline in the upper right corner of the image, and the chunks in the world are loaded on demand by selecting the appropriate LOD level.
  • Figure 5: Left: A large number of chunks will be culled by frustum culling and Hi-Z occlusion culling, resulting in a series of Tile-Chunk pairs. Right: The camera is located in chunk $C$, projecting two rays. The first ray intersects with chunk $C$ itself, while the second ray intersects with both chunk $C$ and chunk $A$. For the Tile-Chunk pairs associated with chunk C, it is necessary to use the depth values at the intersection points with the SVDAG, such as $P_a, P_b$, as the depth values for the tiles to prevent incorrect Hi-Z culling of the tiles.
  • ...and 6 more figures