Graphics Programming weekly - Issue 216 - January 2, 2022


Temporal AA and the quest for the Holy Trail

  • the article presents a very detailed look at temporal anti-aliasing
  • shows each component of the technique visually and explains how it solves the problem
  • provides alternative solutions and presents a link to the sources of the technique


Reader Question Answered 1 - Learning D3D12

  • the article provides a high-level learning guide for getting started with D3D12
  • providing a starting point for getting started quickly as well as detailed learning articles
  • contains sources for performance advice from the different manufacturers
  • additionally contains information where to find the official D3D12 specification to clarify uncertainties


Finding Your Home in Game Graphics Programming

  • the article presents a high-level view of the graphics programming world
  • shows that the specialization has separated into multiple distinct sub-categories
  • presents resources for getting started in the different specializations


Interleaved Gradient Noise: A Different Kind of Low Discrepancy Sequence

  • the article presents the characteristics of IGN(Interleaved Gradient Noise) that make it a good fit for TAA (Temporal Antialiasing Techniques)
  • compares against Bayer, white and blue noise
  • showing visual explanations to show the Low Discrepancy properties


Notes on occlusion and directionality in image based lighting

  • the article presents the findings of the importance of directionality and occlusion for IBL(Image-based lighting)
  • presents comparisons between ray-tracing ground truth, as well as various versions of screen space GTAO( Ground Truth Ambient Occlusion)
  • shows how to bake the directional aspect into Spherical harmonics
  • additionally contains a follow-up post about the technical implementation details


What is an uber shader?

  • the article presents a look back at the emergence of the term uber shader
  • showing how a single shader that supported a flexible BRDF evaluation instead of pre-defined categories
  • the comments contain an insightful discussion about the further historical developments of the term


Not All Blue Noise is Created Equal Part 2

  • the article compares different techniques to generate blue noise
  • presents the quality of the generated noise
  • providing ideas for future development


The History of Retro Game Consoles for Programmers

  • the article provides a history of game consoles in the First Generation 1972 to modern-day consoles
  • presents what new hardware was added with each generation and how constraints and programming environment evolved


Branching on a GPU

  • the article presents branching on GPUs, clearing up that the cost of a branch depends on the kind
  • shows shader code helpers that allow the visualization of the branching patterns
  • additionally presents that extra care is required if branching around texture reads


Stalling a GPU

  • the blog discusses dependent texture reads and the impact on GPU performance
  • shows why it affects performance and discusses tradeoffs to consider


Mixed Precision Algorithms in Numerical Linear Algebra

  • the paper presents a look at the half/single/double and quad precision for floating-point calculations
  • provides an analysis of different linear algebra tasks to derive precision
  • suggesting which types of tasks might be more suitable to reduced precision


[video] The small detail behind Breath of the Wild's Thousands of Trees - Quick Answer #shorts

  • one-minute long video shows the impostors used for far away vegetation in Zelda Breath of the Wild


Global shaders in Unreal without engine modification

  • the article shows how custom shader effects can be integrated into the UE4 pipeline
  • presents a method that doesn’t require engine modification but uses undocumented private classes


Digital Dragons 2021: Adam Sawicki - Efficient Use of GPU Memory in Modern Games

  • talk discusses the available memory types in D3D12/Vulkan
  • discussing ways to upload data to the GPU, including the new hardware Smart Access Memory (Resizable BAR)
  • shows performance advice for usage patterns for the different memory types to achieve optimal performance


Debugging For Graphics Programmers

  • the article provides a collection of advice to help with debugging GPU issues
  • broken down into sub-categories based on the appearance of the bug
  • additionally contains a list of helpful debug infrastructure elements that should be set up to accelerate the process

Thanks to Lesley Lai for support of this series.


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