Dilara Albayrak Logo Image
Dilara Albayrak

Rendering Pipeline for High-Fidelity Lunar Terrain

It's a study that I conducted for my master's thesis. The main goal is to create a high-fidelity Moon terrain rendering using the Vulkan Graphics API with an LOD improvement and stereo rendering for future VR use-cases.

Vulkan
C++
OpenXR
GLSL
Blender
Academic Research
A rendering screenshot

Project Overview

At this early stage, I am exploring which graphics API best suits the project's requirements. The videos above demonstrate the initial output of rendering a low-resolution Moon terrain using Vulkan or DirectX 11. My aim is to select one of these APIs and refine the rendering pipeline in line with academic research and performance optimisation strategies. Below tables show my initial findings (left table for NVIDIA GTX 1050, right table for NVIDIA RTX 3070).


num. faces
Vulkan DirectX11
800k ~400 FPS ~200 FPS
2m ~400 FPS ~60 FPS
8m ~170 FPS bad_alloc

num. faces
Vulkan DirectX11
800k ~8000 FPS ~3200 FPS
2m ~5000 FPS ~1200 FPS
8m ~1500 FPS ~400 FPS

From Static Mesh to Dynamic LOD The first stage involved rendering a static, high-polygon .obj mesh to establish a performance baseline. To manage the immense geometric complexity required for a large-scale terrain, I implemented a dynamic LOD system using hardware tessellation shaders. This approach offloads geometry generation to the GPU, which dynamically subdivides a simple control grid based on camera distance and uses a 16-bit heightmap for displacement. The results showed this method was highly efficient, rendering visually complex and dynamic geometry with minimal performance cost compared to rendering a dense static mesh.

Simulating VR Workloads: Stereo Rendering To analyse performance under VR-like conditions, I implemented two distinct stereo rendering methods:

  • Single-Pass Stereo: A hardware-accelerated approach leveraging Vulkan's multiview feature, which allows the GPU to process geometry once and broadcast it to two view layers in a single draw call.
  • Multi-Pass Stereo: A software-driven approach that manually renders the scene twice per frame—once for each eye—by issuing two separate draw calls.

PC-tethered VR streaming The final implementation of the project was the integration of the optimized rendering pipeline with the OpenXR. This enabled the high-fidelity lunar terrain to be streamed to a head-mounted display (Meta Quest 3), successfully delivering a PC-tethered VR implementation.