Working samples are available for download, showing the usage of a number of features of Direct3D 12.
Working samples (in the form of Visual Studio 2015 projects) can be downloaded from GitHub/Microsoft/DirectX-Graphics-Samples.
The exact list of samples available at this location will vary as samples are added and updated.
|The HelloWorld sample set contains the following simple projects to help you get started with Direct3D 12.
Renders a simple triangle using Direct3D 12.
Demonstrates the usage of a bundle for rendering using Direct3D 12.
Demonstrates how to use constant buffers to pass data to the GPU used for rendering in Direct3D 12.
Demonstrates how to apply a texture to a triangle using Direct3D 12.
|Y||Y||Creating a basic Direct3D 12 component|
|D3D12Bundles||Demonstrates frame buffering and synchronization best practices as well as rendering a simple mesh using bundles.||Y||Y|
|D3D12Multithreading||An example of how to build a multithreaded capable application.||Y||N|
|D3D12nBodyGravity||Demonstrates how multi-engine can be used to do asynchronous compute work alongside 3D work on the same GPU.||Y||Y||Multi-engine n-body gravity simulation|
|D3D12PredicationQueries||Demonstrates occlusion culling using query heaps and predication.||Y||Y||Predication queries|
|D3D12DynamicIndexing||Demonstrates the dynamic indexing capabilities of DirectX 12 and HLSL.||Y||Y||Dynamic Indexing using HLSL 5.1|
|D3D1211on12||Demonstrates basic usage of the 11on12 layer. This sample renders text using D2D using the Direct3D 11 API on a Direct3D 12 11on12 device.||Y||Y||D2D using D3D11on12|
|D3D12ExecuteIndirect||Demonstrates compute engine culling in conjunction with the execute indirect feature to only render objects that pass the culling test.||Y||Y||Indirect drawing and GPU culling|
|D3D12PipelineStateCache||Demonstrates Pipeline State Object (PSO) caching.||Y||Y|
|D3D12Fullscreen||Demonstrates how to handle fullscreen to windowed transitions and window resizing in DirectX 12.||Y||Y|
|D3D12HeterogeneousMultiadapter||Demonstrates how to share workloads amongst multiple heterogenous GPUs using shared heaps.||Y||Y|
|D3D12ReservedResources||Demonstrates the use of reserved (tiled) resources. In this sample a quad is textured with a reserved resource containing a full mip chain.||Y||Y|
|D3D12Residency||This is intended as a low-integration-cost solution to managing your Direct3D 12 heaps and committed resources, using memory management techniques from Direct3D 11.||Y||Y|
|D3D12SmallResources||Demonstrates the use of small placed resources, showing the potential memory savings gained using placed resources (with a 4K alignment) over committed and reserved resources (with a 64K alignment).||Y||Y|