Graphics Programming weekly - Issue 211 - November 28, 2021


Denoising Sprite Fright

  • the article presents the noise issues encountered when rendering out animated camera tracks
  • shows result comparisons between different sample counts and supersampling
  • presents how the noise issue was solved by projecting static rendering onto proxy geometry


[video] Reflection and Refraction Vectors - Shader Graph Basics - Episode 24

  • the video shows a visualization of reflection and refraction vectors
  • shows how to combine reflection and refraction into a single effect
  • presents how to use these vectors for effects within Unity and UE4


Lossless Image Compression in O(n) Time

  • the article presents the overview of a small and simple lossless image compression
  • benchmark against libpng and stbi are available here: benchmark


Floating-point in mobile shaders

  • the article presents an overview of fp16 (16-bit floating-point data types)
  • shows what range and precision is available
  • discusses 7 tricks to keep in mind when working with fp16 numbers in shaders


Tessellation-Free Displacement Mapping for Ray Tracing

  • the paper presents a new approach that decouples displacement from the tessellation of the base mesh
  • a displacement-specific acceleration structure is mapped onto the mesh, and tesselation factors are encoded seperate
  • the BVH for the displaced geometry is computed instead of loaded from memory


A quick breakdown of lighting in the restir-meets-surfel branch

  • provides a rundown of the different stages of a WIP experiment combing surfels and ReSTIR for rendering
  • shows images of the different passes, what they contribute and how they form the final result


Shader Assembly and D3D12 Root Signatures

  • the article presents a look at the RDNA2 assembly generated from a simple pixel shader that outputs a color from a constant buffer
  • compares D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE, D3D12_ROOT_PARAMETER_TYPE_CBV, D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS
  • presents pros/cons of each technique


Debugging Your Renderer (2/n): Unit Tests

  • the article presents a starting point for developing unit tests for rendering algorithms
  • shows the importance of small test cases
  • additionally presents two real examples from pbrt-v4 and how unit tests helped to solve them


Thanks to Unai Landa for support of this series.


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