DirectX12 Engine


Low-Level DirectX 12 Rendering Backend

Overview

DX12 Backend is an ongoing modular rendering backend project built using DirectX 12 in C++. The project is designed as a backend implementation for a larger backend-agnostic engine architecture, similar to the SFML backend project, with a focus on low-level graphics programming, rendering abstraction, and scalable engine systems.

The current implementation focuses on DirectX 12 initialisation and validating integration through a shared EngineInterface abstraction layer before expanding into full rendering systems.


My Role

I am designing and developing the DirectX 12 backend architecture, including the rendering abstraction layer, shared Engine Interface integration, and backend communication patterns. My work focuses on separating low-level graphics API implementation from higher-level engine systems, allowing the backend to support scalable rendering workflows without tightly coupling the engine to DirectX 12. The project reflects my focus on modern C++ development, low-level graphics programming, GPU resource management, dependency inversion, and adaptable engine architecture for future rendering systems.

Key Engineering Features
  • DirectX 12 initialisation
  • Backend-agnostic engine architecture
  • Shared Engine Interface integration
  • Rendering abstraction layer
  • Modular backend structure
  • Foundation for future GPU resource and rendering systems
  • Scalable engine-focused architecture
Technical Highlights

The project focuses on separating rendering implementation details from higher-level engine systems through abstraction layers and interface-driven design. Gameplay and engine logic communicate through shared interfaces, while the DirectX 12 backend manages graphics API setup and future rendering responsibilities.

DirectX 12 was chosen to strengthen understanding of modern low-level graphics APIs, GPU resource management, backend abstraction, and scalable rendering architecture.

Development Goals

The backend is being developed as part of a broader engine architecture that supports interchangeable rendering implementations. Current development is focused on validating the shared engine interface before expanding into more advanced rendering systems.

Planned expansion includes swap chain management, command queues, descriptor heaps, shader systems, and reusable rendering workflows.

Tools and Technologies

C++, DirectX 12, Visual Studio, Windows SDK, Graphics Programming, Rendering Pipelines, GPU Resource Management, Engine Architecture