Graphics Programming weekly - Issue 118 — February 9, 2020


Generating Perfect Normal Maps for Unity (and Other Programs)

  • the article shows what needs to be considered when baking normal maps for use with separate applications
  • it shows what kind of different conventions exists, what common artifacts look like and how to verify that the content pipeline is correct


A Fun 2d Rotation Matrix Derivation

  • the article shows a connection between “2D cross product”, Complex Numbers and 2D rotation matrices


Normal matrices are overrated

  • the tweet shows an alternative formulation for a normal transformation matrix (required when non-uniform scaling is allowed)
  • the technique uses less memory but more ALU


Dissolve Shader Breakdown

  • the Unity shader breakdown explains how to dissolve a mesh using a combination of noise and height based effect


A Scalable Real-Time Many-Shadowed-Light Rendering System

  • Siggraph presentation showcasing a shadow system that enables thousands of shadowed-lights in large environments
  • uses a fixed size shadow map pool, each light allocates it’s the target size
  • splits dynamic and static shadows, using conservative filtering for the highly sparse dynamic shadows
  • presents several techniques for compression, filtering and an overview of performance


Wave Function Collapse tips and trick

  • the article presents an overview of the Wave Function Collapse algorithm
  • a tile-based algorithm for the generation of procedural structures


Shadow Terminator in Takua

  • the article presents a comparison between techniques to solve the harsh shadow terminator problem
  • offers comparison images in different situations and with and without normal mapping


Approximating Subsurface Scattering With Spherical Gaussians

  • the article shows a breakdown on how to approximate subsurface scattering from a point light using Spherical Gaussians
  • presents why spherical harmonics are not a good fit to approximate point lights


Thanks to Steven Cannavan for support of this series.


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