Graphics Programming weekly - Issue 124 — March 22, 2020


Announcing DirectX 12 Ultimate

  • post containing an overview of the new D3D12 Feature level 12_2 now called DirectX 12 Ultimate
  • covers Variable Rate Shading, Mesh Shaders, DirectX Raytracing 1.1 and Sampler Feedback
  • fully supported on PC and Xbox Series X


Shaders For People Who Don't Know How To Shader: Smooth blending with Sine

  • the Unity tutorial shows how to use color masks to apply runtime coloring with smooth blending to sprites in a 2D scene
  • explains masking, blending over time and using a sin function to achieve effect looping over time


Ray Tracing In Vulkan

  • the post provides an overview of the new Vulkan raytracing extensions
  • using similar concepts as DirectX Raytracing
  • the acceleration structure can be built on the CPU or GPU
  • the article explains how CPU scheduling is exposed to the application
  • adds support for DXR 1.1 features such as inline raytracing
  • additionally provides a few code examples


[video] Reinventing the Geometry Pipeline: Mesh Shaders in DirectX 12 | Shawn Hargreaves

  • the presentation provides an overview of mesh shaders
  • explains the problem with the classical geometry pipeline and how the mesh shader pipeline is an improvement
  • provides a walkthrough of code demonstrating how mesh shaders are implemented and what needs to be considered to achieve excellent performance
  • explains the meshlet data structure and how to use this as a base for a mesh shader pipeline
  • how to implement instancing, and using per-primitive attributes


[video] Advanced Mesh Shaders | Martin Fuller

  • build upon the @Reinventing the Geometry Pipeline: Mesh Shaders in DirectX 12” talks summarized above
  • provides more hardware details and how to design mesh shader implementation to give excellent performance
  • extending the meshlet pipeline with more advanced culling and mesh data compression
  • providing performance numbers for different techniques


DirectX 12 Sampler Feedback | Claire Andrews

  • the video provides an overview of the new Sampler Feedback feature added to D3D12
  • shows how to use compile sampler feedback and reserved resources to improve texture streaming
  • overview of texture space shading and how sampler feedback can be used to guide the system
  • closing with an API overview


Nvidia - DirectX

  • overview articles by Nvidia for D3D12 Ray Tracing, Mesh shading, Variable Rate Shading, and Sampler Feedback


New: Vulkan Device Generated Commands

  • the article describes the VK_NV_device_generated_commands extension for Vulkan
  • it allows partial command buffers to be generated on the GPU
  • more flexible then D3D12 ExecuteIndirect
  • main functional addition is the support of changing of shaders between commands


Enable Ray Tracing: Two-Level Acceleration Structure

  • the article presents an overview of a BVH structure for GPU raytracing
  • this is not using any raytracing APIs and focuses on the data structure design
  • how to structure the tree, handle animated meshes and refit the structure for changes


Thanks to Ken Russell for support of this series.


Would you like to see your name here too? Become a Patreon of this series.