Graphics Programming weekly - Issue 292 - June 18th, 2023


Task Graph Renderer at Activision

  • the talk discusses the design of the Task Graph architecture used by Activision
  • covers how to author tasks, design iterations, interactions with the memory allocation systems
  • additionally presents how it interacts with multi-threaded command recording


Overview of Nitrous’ Decoupled Rendering Architecture

  • the presentation slides explain the improvements done to decoupled shading
  • discusses how decoupled shading enables improved visual stability
  • presents how the technique has been implemented by using Shadels that reduces the limitations of overshading of previous iterations of the technique
  • show how to generate a PrimiteID texture from rasterization as a replacement for position texture maps
  • additionally shows how the material system has been designed to enable utilization of the new shading method


Real-Time Rendering of Glinty Appearances using Distributed Binomial Laws on Anisotropic Grids

  • the paper presents a new method to render glittery materials
  • introduces a new statistical method to calculate the number of glints for each pixel
  • source code and a Unity implementation demo are available


Line Rendering Deep Overview - Part 1 - Extraction

  • the article presents an overview of line extraction techniques
  • discusses line theory and types
  • presents Screen-Space Extraction as well as Geometry-Based (Mesh Contours)
  • discusses limitations and considerations of each technique
  • additionally gives recommendations on when each technique should be used


A note on Metal shader converter

  • the article presents a discussion of the limitations of metal hardware related to barriers across thread groups
  • also discusses the complexity of the current compute ecosystem across platforms


Sampling Visible GGX Normals with Spherical Caps

  • the paper introduces a novel importance sampling algorithm for the GGX microfacet BRDF
  • presents an explanation of the method and how it compares to the Heitz method
  • code implementation is provided


Thanks to Trevor Black for support of this series.


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