• Portfolio
  • Blog
  • About
  • Raw DirectX 12
  • Introduction
  • Initialize the API
  • Raster Graphics Pipeline
  • Compute Pipeline
  • Ray Tracing Pipeline
  • More Resources

Raw DirectX 12 Book

Author Pic:Alain Galvan ·12/28/2021 @ 7:36 PM · Updated 1 year ago

A comprehensive introduction to DirectX 12 Ultimate, learn how to render meshes, ray trace scenes, and learn the latest techniques and best practices from industry and research.

DirectX 12 Logo

DirectX 12 is the latest iteration of Microsoft's proprietary computer graphics API used for Windows and Xbox platforms. DirectX 12, like newer graphics APIs such as Vulkan, Apple Metal, or WebGPU, was designed to map closer to the GPU's underlying architecture, resulting in a much less complex and faster driver. This means the application developer is responsible for the creation of pipeline states directly, specifying which commands get executed with queues, and now has the option to build these data structures with multiple threads.

DirectX Users

DirectX focuses on real time rendering, thus is designed for Game Developers and Computer Aided Design (CAD) Software Engineers. As the industry standard in Computer Graphics APIs, you can expect nearly all compliant hardware to have robust support for the API, making it the standard for commercial projects.

From 3D/image authoring software like Marmoset Toolbag, Adobe PhotoShop, Unreal Engine, to commercial games such as Activision Blizzard's OverWatch, Call of Duty, Epic's Fortnite, the vast majority of titles on Valve's Steam, and much more, this graphics API is the most popular and ubiquitous one of them all, despite its platform exclusivity.

That's not to say there aren't uses for it outside of 3D rendering. Google Chrome renders HTML and SVG elements with DirectX, Tensorflow features a DirectX 12 backend for machine learning execution via DirectML, and GPGPU computations with the compute pipeline can execute all manner of workloads, from physics simulations, BVH construction, and much more.

Platform Support

OS Window Diagram

DirectX 12 is currently supported on:

  • 🗔 Windows 7 - 11

  • ✖️ Xbox One - Xbox Series X/S

With Windows 7 having partial support for it via Microsoft's D3D12 On 7.

While the official languages might be C and C++, many languages support DirectX 12:

  • C

  • C++

  • C#

  • Rust (through dx-sys)

Book Contents

This book will review how to author DirectX 12 applications with C++, reviewing the following:

  • Initializing the API - A brief overview on how to interface with DirectX 12.

  • The Raster Graphics Pipeline - How to provide resources and execute commands to execute raster based rendering.

  • The Compute Graphics Pipeline - How to create resources and modify them with compute dispatches.

  • The Ray Tracing Pipeline - How to build acceleration structures, shader record tables, and perform hardware accelerated ray tracing.

Tags: booksopengltrianglehellotheorydiagramsdirectxvulkan

GitHub Comments