DOMAIN ANALYSIS: GAME ENGINE ARCHITECTURE & GRAPHICS PROGRAMMING
Expert Persona: Senior Graphics Architect / Lead Engine Developer
Abstract
This technical update details the completion and merger of "Renderer 2025," a foundational architectural pivot for the Hazel game engine. The primary objective of this overhaul was the transition from a monolithic, native Vulkan implementation to a multi-backend abstraction layer utilizing NVIDIA’s Rendering Hardware Interface (NVRHI). By adopting NVRHI, the engine gains standardized support for Vulkan, DirectX 11, and DirectX 12, while offloading the complexities of resource state tracking and barrier placement to a maintained third-party library. The update further highlights the integration of Dear ImGui 1.92.6 and discusses the strategic shift in the shader pipeline, specifically the industry’s trajectory toward SPIR-V as a unified interchange format for modern graphics APIs.
Renderer 2025 Technical Summary
0:00 Project Continuity: The developer clarifies that Hazel remains an active open-source project despite a shift in priorities toward a proprietary robotics training engine. The team has expanded with a new office in Melbourne to support these parallel tracks.
0:43 Introduction of Renderer 2025: Work on the "Renderer 2025" branch, initiated in late 2024, has reached completion and been merged into the main development branch.
1:21 Transition to NVRHI: The core architectural change is the move from native Vulkan to NVRHI (NVIDIA Rendering Hardware Interface). This RHI serves as an abstraction layer for multiple graphics APIs, including Vulkan and DirectX 11/12.
1:53 Maintenance vs. Innovation: The decision to use NVRHI was driven by the desire to avoid the resource-heavy task of maintaining custom abstractions for every graphics API while still gaining features like automatic resource state tracking and barrier management.
2:52 Cross-Vendor Stability: Despite its NVIDIA origins, NVRHI improves stability across AMD and Intel hardware. The library enforces stricter API compliance, which mitigates driver-specific crashes frequently encountered on non-NVIDIA GPUs when writing native Vulkan code.
4:11 Shader Pipeline Challenges: Full DirectX 11/12 support is currently hindered by the shader pipeline. Shaders are still Vulkan-centric (GLSL/SPIR-V), requiring future implementation of compilers for DXBC (DX11) or DXIL (DX12). The developer notes that Microsoft’s move toward SPIR-V support in Shader Model 7 will eventually simplify this cross-API compatibility.
6:50 Development Timeline: The transition to the new renderer took approximately nine months, beginning in May 2025. The process involved a complete fork of the NVRHI repository to maintain local control over bug fixes and optimizations.
9:01 UI System Upgrade: A significant portion of the development cycle was dedicated to upgrading the Dear ImGui implementation to version 1.92.6, which required extensive refactoring of the editor's UI code.
9:38 Architectural Abstraction Shift: Previously, Hazel used abstract interface classes (e.g., VulcanVertexBuffer) for each API. The new architecture uses concrete classes that interact directly with the NVRHI device, shifting the abstraction point further down the stack and reducing boilerplate.
18:21 Limits of NVRHI: The developer emphasizes that NVRHI is an RHI, not a full application framework. It does not handle swap chains or windowing, meaning platform-specific Vulkan code is still required for swap chain maintenance and presentation.
18:54 Future Roadmap: Interest is expressed in producing standalone graphics projects using NVRHI to demonstrate modern rendering techniques, such as forward+ or clustered rendering, outside the context of a full game engine.