DirectX12
Things you did run-time are now done at startup
Things you did at startup is now done offline
DirectX 12 is a low level API like Vulkan and Metal. It can be used on Windows 10 and Xbox One. DirectX11 is the version before that can be used on Windows Vista and above.
- Startup - The basic steps to setup for DirectX 12 rendering.
- Memory - How to handle the memory of all cool resources you will need.
- Assets - Creat root signatures and PSO's.
- Resources - Create and load the resources
- Binding - Tell your shaders where it can find the resources.
- Command: All the command list use the same ID3D12GraphicsCommandList interface.
- Synchronize - Make the CPU and GPU talk to each other.
- Shutdown - How to end things in a nice way.
- HLSL - Used to write shaders.
- Guidelines - Generic hints and details about specific hardware vendors.
Reference
Tutorials
- DirectX 12 Tutorials
- DirectX 12 Programming
- Migrating Your Apps to DirectX* 12
- DirectX 12 - Braynzar Soft Tutorials - 2015
Links
Learning D3D12 from D3D11 - Part 1: Getting Started, Command Queues, and Fencing - 2019
New in D3D12 – DRED helps developers diagnose GPU faults - 2019
D3D12 Constant Buffer Management - 2019
D3D12 Root Signature Management - 2019
Programming HDR monitor support in Direct3D - 2019
Programming FreeSync 2 support in Direct3D - 2019
Learning DirectX 12 – Lesson 4 – Textures - 2019
New in D3D12 – background shader optimizations - 2019
Radeon GPU Analyzer 2.2 for Direct3D®12 Compute - 2019
GPU timing data in New Timing Captures - 2019
D3D12 Descriptor Heap Management - 2019
Part 3: DDGI Overview - 2019
D3D12 Memory Allocator - 2019
Learning D3D12 from D3D11 - Part 2: GPU Resources, Heaps, and Descriptors - 2019
Direct3D 11 on 12 Updates - 2019
Debugging D3D12 driver crash - 2018
BRE Engine - 2017
TBB Task DAG with Deferred Successors - 2017
DirectX 12 Case Studies (Pdf) - 2017 - Movie
Advanced Rendering with DirectX 11 and DirectX 12 (presented by NVIDIA) - 2016
DirectX12 – Multithread Architecture: A First Approach - 2016
Direct3D 12 Initialization - 2016
Nicolas Bertoa Physically Based Rendering - 2016
DirectX 12 Advancements - 2016
Advanced Rendering with DirectX 11 and DirectX 12 - 2016
High-performance, Low-Overhead Rendering with OpenGL and Vulkan - 2016
DirectX 12 Advancements - 2016
Practical DirectX 12 – Programming Model and Hardware Capabilities - 2016
GD.Net DirectX 12 few notes and questions - 2016
Efficient Implementation of Dynamic Resources in Direct3D12 - 2016
Shader resource binding model in Diligent Engine 2.0 - 2016
Debugging D3D12 fences & queues - 2015
Getting started with D3D12 - 2015
Debugging D3D12 fences & queues - 2015
Getting started with D3D12 - 2015
Debugging D3D12 fences & queues - 2015
DX12 & Vulkan: Dawn of a New Generation of Graphics APIs - 2015
Getting started with D3D12 - 2015
DirectX 11 vs. DirectX 12 oversimplified - 2015
Better Power, Better Performance: Your Game on DirectX12 - 2015
DX12 & Vulkan: Dawn of a New Generation of Graphics APIs - 2015
Performance Considerations for Resource Binding in Microsoft DirectX* 12 - 2015
Efficient Rendering with DirectX 12 on Intel Graphics - 2015
Direct3D* 12 - Console API Efficiency & Performance on PCs - 2014
Introduction to Direct 3D 12 by Ivan Nevraev - 2014
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14 - 2014
Announcing new DirectX 12 features
Two Shader Compilers of Direct3D 12 - 2019
Initializing DX12 Textures After Allocation and Aliasing - 2020
Secrets of Direct3D 12: Copies to the Same Buffer - 2020
Using DXC In Practice - 2019
Coming to DirectX 12: More control over memory allocation - 2019
Coming to DirectX 12— Sampler Feedback: some useful once-hidden data, unlocked - 2019
A Look Inside D3D12 Resource State Barriers - 2019
Living with Vulkan and DirectX 12 - 2019
Secrets of Direct3D 12: Resource Alignment - 2020
Variable Rate Shading Tier 1 with Microsoft DirectX* 12 from Theory to Practice - 2020
DirectX 12 Sampler Feedback | Claire Andrews - 2020Nvidia - DirectX - 2020
Announcing DirectX 12 Ultimate - 2020
Secrets of Direct3D 12: Copies to the Same Buffer - 2020
Two Shader Compilers of Direct3D 12
Using AMD FreeSync™ Premium Pro HDR: Code Samples - 2020
New in DirectX— Feature Level 12_2
https://devblogs.microsoft.com/directx/new-in-directx-feature-level-12_2/
Binding Bindlessly
http://alextardif.com/Bindless.html
Porting your engine to Vulkan or DX12
https://www.youtube.com/watch?v=6NWfznwFnMs
Learning D3D12 from D3D11
http://alextardif.com/D3D11To12P1.html
http://alextardif.com/D3D11To12P2.html
http://alextardif.com/D3D11To12P3.html
An Opinionated Post on Modern Rendering Abstraction Layers
http://alextardif.com/RenderingAbstractionLayers.html
Binding Bindlessly
http://alextardif.com/Bindless.html
States and Barriers of Aliasing Render Targets
https://asawicki.info/news_1738_states_and_barriers_of_aliasing_render_targets