This repo contains the DirectX Graphics samples that demonstrate how to build graphics intensive applications for Windows 10.
In the Samples directory, you will find samples that attempt to break off specific features and specific usage scenarios into bite sized chunks. For example, the ExecuteIndirect sample will show you just enough about execute indirect to get started with that feature without diving too deep into multiengine whereas the nBodyGravity sample will delve into multiengine without touching on the execute indirect feature etc. By doing this, we hope to make it easier to get started with DirectX 12.
Visual Studio Templates
In the Templates directory you will find copies of the projects that are available for creation in Visual Studio's "New Project" wizard.
MiniEngine: A DirectX 12 Engine Starter Kit
In addition to the samples, we are announcing the first DirectX 12 preview release of the MiniEngine.
It came from a desire to quickly dive into graphics and performance experiments. We knew we would need some basic building blocks whenever starting a new 3D app, and we had already written these things at countless previous gigs. We got tired of reinventing the wheel, so we established our own core library of helper classes and platform abstractions. We wanted to be able to create a new app by writing just the Init(), Update(), and Render() functions and leveraging as much reusable code as possible. Today our core library has been redesigned for DirectX 12 and aims to serve as an example of efficient API usage. It is obviously not exhaustive of what a game engine needs, but it can serve as the cornerstone of something new. You can also borrow whatever useful code you find.
Some features of MiniEngine
High-quality anti-aliased text rendering
Real-time CPU and GPU profiling
Game controller, mouse, and keyboard input
A friendly DirectXMath wrapper
Perspective camera supporting traditional and reversed Z matrices
Asynchronous DDS texture loading and ZLib decompression
Large library of shaders
Easy shader embedding via a compile-to-header system
Easy render target, depth target, and unordered access view creation
A thread-safe GPU command context system (WIP)
Easy-to-use dynamic constant buffers and descriptor tables