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.