Direct3D 12.0 quick reference guide

Overview

Direct3D 12.0 quick reference guide

Download: https://github.com/alessiot89/D3D12QuickRef/raw/master/D3D12Ref.pdf
Printable (no background): https://github.com/alessiot89/D3D12QuickRef/raw/master/D3D12Ref-printable.pdf

Suggestions, error or typos reports and any other comments are always welcome.

If you need a specific source or document format, just ask! I will try to please your requests.

PS: I am a inDesigner noob, layout will improve... slowly... pole pole...


History:

2017/01/03 - Added different Windows SDK target releases.

2017/01/02 - Re-added diagrams titles.

2016/12/30 - Updated to SDK version 1607

2016/05/12 - Added DXGI tearing feature update.

2016/06/28 - Fixed description for tiling and memory reservation.

2016/06/26 - Different typos fixed.

2016/03/25 - Fixed some typos, better formatting, less psychedelic-colours, added additional notation for those structures having a D3DX12 class helper, added a section containing links to external useful resources, added a version without background colour for printing.

2016/03/23 - Initial release.

You might also like...
Direct3D wrapper for Sega's Kamui API

KAMUI Direct! Circa 1997 Sega was developing the KAMUI graphics API used for their newest console, the Dreamcast. There were no devkits yet, so the pr

A minimal Direct3D 12 example that draws an animated triangle, written entirely in C-style C++, and all taking place inside a single function.
A minimal Direct3D 12 example that draws an animated triangle, written entirely in C-style C++, and all taking place inside a single function.

A minimal Direct3D 12 example that draws an animated triangle, written entirely in C-style C++, and all taking place inside a single function.

Direct3D to OpenGL abstraction layer

TOGL Direct3D - OpenGL translation layer. Taken directly from the DOTA2 source tree; supports: Limited subset of Direct3D 9.0c Bytecode-level HLSL -

Simple console tool to get all the information from DXGI and Direct3D 12 on current system
Simple console tool to get all the information from DXGI and Direct3D 12 on current system

D3d12info Simple console tool to get all the information from DXGI and Direct3D 12 (D3D12) on current system. Built and tested on Windows 10 64-bit us

Easy to integrate memory allocation library for Direct3D 12

D3D12 Memory Allocator Easy to integrate memory allocation library for Direct3D 12. Documentation: Browse online: D3D12 Memory Allocator (generated fr

The ultimate guide for data structure and algorithms

Quick Notes: For Arrays: (methods that can be applied) sorting and then doing something, hashtable, two pointers in a loop are some of the operations

A guide and set of tools for working with TinyML powered Audio Sensors
A guide and set of tools for working with TinyML powered Audio Sensors

Audio Sensor Toolkit This is a guide on how to build an Audio Sensor using Machine Learning, and helpful tools. Audio Sensor Guide Audio Tools Acceler

Opencore-based Hackintosh EFI and guide for Lenovo Thinkpad X1 Carbon Gen 7
Opencore-based Hackintosh EFI and guide for Lenovo Thinkpad X1 Carbon Gen 7

macOS on Thinkpad X1 Carbon 7th Generation OpenCore-based Hackintosh EFI and guide for Lenovo Thinkpad X1 Carbon Gen 7. This guide has been generated

A guide for C Programming from the perspective of a Pulchowk student (IOE).

C-Programming-Guide This README contains a list of resources that will be required as you get used to programming in C.

V4L0R4NT 0V3RL4Y 3XT3RN4L 35P CH34T -- Guide written in Indonesian Language~

V4L0VL4Y V4L0R4NT 0V3RL4Y 3XT3RN4L 35P CH34T K4L4U M4U N908R0L M45UK 4J4! H3H3 C4R4 C0MP1L3 DR1V3R 1N5T4L W5L K4L4U 94K PUNY4 L1NUX 9UN4K4N L1NUX Y4N9

The Beginner's Guide to eBPF Programming for Networking

The Beginner's Guide to eBPF Programming for Networking As seen at Cloud Native eBPF Day 2021. Setup Create a container that we can issue curl request

A comprehensive guide to 50 years of evolution of strict C programming, a tribute to Dennis Ritchie's language
A comprehensive guide to 50 years of evolution of strict C programming, a tribute to Dennis Ritchie's language

42 School Cheat Sheet by agavrel 💕 Intended for 42 alumni, current students and candidates Truth can only be found in one place: the code – Robert C.

Macos-arm64-emulation - A guide for emulating macOS arm64e on an x86-based host.

macos-arm64-emulation Use the following guide to download and configure all of the necessary tools and files for emulating the macOS arm64e kernel. Th

CGold: The Hitchhiker’s Guide to the CMake

CGold: The Hitchhiker’s Guide to the CMake

Guide to Cross Compiling on a Raspberry Pi

Guide to Cross Compilation for a Raspberry Pi Start Setup XCS and RPi Setup RPi Network and SSH Setup RPi Peripherals Setup Cross-compile environmen

An indie game marketing size guide for social media presence

BRINDIE FREE - an .ai sourcefile with sizes for art assets needed to create Facebook page, Twitter profile, Steam Store page and Steam Developer page

Step-by-step guide through the abstract and complex universe of Fragment Shaders.

The Book of Shaders by Patricio Gonzalez Vivo and Jen Lowe This is a gentle step-by-step guide through the abstract and complex universe of Fragment S

A guide that teach you build a custom version of Chrome / Electron on macOS / Windows / Linux that supports hardware / software HEVC decoding.

enable-chromium-hevc-hardware-decoding A guide that teach you build a custom version of Chrome / Electron on macOS / Windows / Linux that supports har

Quick Look extension for Markdown files on macOS Catalina and Big Sur.
Quick Look extension for Markdown files on macOS Catalina and Big Sur.

QLMarkdown is a macOS Quick Look extension to preview Markdown files. It can also preview textbundle packages and rmarkdown (.rmd) files.

Comments
  • Version 1607 update

    Version 1607 update

    The content need to be updated to build 10.0.14393.0 of Windows SDK.

    The new SDK introduce support for Shader Model 6.0 as well as HDR format in both Direct3D 12 and DXGI (1.5).

    If anyone have some suggestion or any request is free to put them here.

    opened by alessiot89 1
  • Awesome! And a suggestion

    Awesome! And a suggestion

    This is fantastic!

    A suggestion: For data structures that have D3DX12 helpers, it might be handy to mention the names of the helpers or somehow link to them, perhaps in a subtle way that doesn't distract from the nice purity you have in showing all the raw interfaces. The intro could point to where to find the D3DX12 header on GitHub (which I don't actually know offhand, but others can point you to if you haven't found it).

    opened by amarpMSFT 1
Releases(1607)
  • 1607(Jan 3, 2017)

  • 1151(Jan 3, 2017)

    Direct3D 12.0 quick reference guide Targets Windows 10 SDK version 1151 build 10.0.10586.0 + KB3156421

    KB3156421 added a preview of DXGI 1.5, with DXGI tearing feature. This allows application to force unleashed frame-rate on full-screen borderless mode, enabling "v-sync" off on UWP applications. KB3156421 is required to be installed.

    // 
    // DXGI tearing feature available in KB3156421. 
    // 
    #ifndef __dxgi1_5_h__ 
    typedef 
    enum DXGI_FEATURE 
    { 
    DXGI_FEATURE_PRESENT_ALLOW_TEARING = 0 
    } DXGI_FEATURE; 
    
    MIDL_INTERFACE("7632e1f5-ee65-4dca-87fd-84cd75f8838d") 
    IDXGIFactory5 : public IDXGIFactory4 
    { 
    public: 
    virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport( 
    DXGI_FEATURE Feature, 
    _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData, 
    UINT FeatureSupportDataSize) = 0; 
    }; 
    
    #define DXGI_PRESENT_ALLOW_TEARING 0x00000200UL 
    #define DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING 2048 
    #endif
    

    Edit: please note this is not the right source code.

    Source code(tar.gz)
    Source code(zip)
    D3D12Ref-printable.pdf(2.67 MB)
    D3D12Ref.pdf(2.67 MB)
Owner
Alessio1989
Alessio1989
A minimal Direct3D 12 example that draws an animated triangle, written entirely in C-style C++, and all taking place inside a single function.

A minimal Direct3D 12 example that draws an animated triangle, written entirely in C-style C++, and all taking place inside a single function.

Taoufik Rida Bouftass 7 May 3, 2022
Direct3D to OpenGL abstraction layer

TOGL Direct3D -> OpenGL translation layer. Taken directly from the DOTA2 source tree; supports: Limited subset of Direct3D 9.0c Bytecode-level HLSL ->

Valve Software 2k Dec 27, 2022
Simple console tool to get all the information from DXGI and Direct3D 12 on current system

D3d12info Simple console tool to get all the information from DXGI and Direct3D 12 (D3D12) on current system. Built and tested on Windows 10 64-bit us

Adam Sawicki 40 Dec 8, 2022
Easy to integrate memory allocation library for Direct3D 12

D3D12 Memory Allocator Easy to integrate memory allocation library for Direct3D 12. Documentation: Browse online: D3D12 Memory Allocator (generated fr

GPUOpen Libraries & SDKs 493 Dec 31, 2022
ReferencePT - Supplemental code accompanying Ray Tracing Gems II, Chapter 14: The Reference Path Tracer

The Reference Path Tracer Code sample This is a supplemental code accompanying Ray Tracing Gems II, Chapter 14: The Reference Path Tracer. Code is bas

Jakub Boksansky 153 Dec 20, 2022
This repo contains Direct3D 9, Direct3D 10, a few Direct3D 11, and DirectSound C++ samples from the legacy DirectX SDK updated to build using the Windows 10 SDK and the Microsoft.DXSDK.D3DX NuGet package

DirectX SDK Legacy Samples This repo contains Direct3D 9, Direct3D 10, a few Direct3D 11, and DirectSound samples that originally shipped in the legac

Chuck Walbourn 44 Jan 2, 2023
C++ QUICK REFERENCE / C++ CHEATSHEET

C++ QUICK REFERENCE / C++ CHEATSHEET Based on Phillip M. Duxbury's C++ Cheatsheet and edited by Morten Nobel-Jørgensen. The cheatsheet focus is both o

Morten Nobel-Jørgensen 2.4k Jan 1, 2023
Quick reference on command line tools and techniques

1. Introduction 1.1. Scope 1.2. Background 1.3. Purpose 1.4. Next steps 2. Basics 2.1. Common commands 2.2. Shortcuts 2.2.1. Navigation 2.2.2. Editing

Utsav Barman 330 Dec 7, 2022
Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal

Low Level Graphics Library (LLGL) Documentation NOTE: This repository receives bug fixes only, but no major updates. Pull requests may still be accept

Lukas Hermanns 1.5k Jan 8, 2023
Yet another approach to developing a personal 3D graphics engine. Windows + Direct3D 12.

RegEngine Yet another approach to developing a personal 3D graphics engine. Windows + Direct3D 12. Work in progress... Nothing to see here. I just ren

Adam Sawicki 21 Nov 3, 2022