Luna Engine

Backend-agnostic real-time rendering engine supporting Vulkan and DirectX 12 backends, built from scratch with a HAL (Hardware Abstraction Layer) design for portability and extensibility.

Features

ComponentDescription
Render BackendVulkan / DirectX 12 (swappable via HAL)
GPU ProfilerFrame timing and pipeline-stage attribution
Resource ManagementExplicit memory, barriers, descriptor heaps
Isaac Sim InteropStreaming simulation state into the renderer
Build SystemPremake5
Debug UIImGui integration

Architecture

  • HAL Design Pattern — graphics API calls abstracted behind a unified interface, enabling backend swap without touching render logic
  • Render Graph — explicit dependency tracking between passes for automatic resource barrier insertion
  • Explicit Memory Management — manual heap allocation, resource upload, and lifetime control on both DX12 and Vulkan

Motivation

Built as an open-source alternative to proprietary sim environments (Isaac SIM, etc.) for sensor simulation research, and as a portfolio demonstration of low-level GPU systems engineering.

Source