Graphics Programming weekly - Issue 225 - March 6, 2022


Exposure Fusion – local tonemapping for real-time rendering

  • the article presents an explanation of common tone mapping issues, comparing multiple local tone mapping solutions
  • discusses the Exposure fusion technique in detail
  • the technique combines multiple exposed images with varying radii based on the frequency changes in the image
  • present a WebGL demo implementation of the technique


Variable Rate Compute Shaders on Xbox Series X|S

  • the presentation talks about techniques to use VRS (Variable Rate Shading) to reduce the cost of lighting calculations for deferred shading
  • presents implementation details for PC/Series X and presents performance comparisons of the techniques
  • additionally introduces a technique to reduce block artifacts


Variable Rate Shading, Tales from the Trenches on Series X|S

  • the presentations cover the experience of implementing VRS into Doom Eternal and Gears5
  • contains lessons learned, performance expectations as well as implementation details
  • additionally covers how VRS performance with UE5 Nanite pipelines


How Does Perspective Work in Pictures?

  • the article discusses the effect that human perception and images appear different
  • presents shortcomings of linear perspective
  • shows how different types of focal lengths and perspectives create different effects


Picking Fairly From a List of Unknown Size With Reservoir Sampling

  • the article presents a collection of code samples that allow the selection of random samples from a list of items
  • shows different cases from known/unknown sizes, weight vs. unweighted sampling
  • additionally presents how to combine multiple lists into a coherent sampling strategy


Improved Accuracy for Prism-Based Motion Blur

  • the paper presents a method for improving the quality of motion blur on dynamic triangulated objects
  • it approximates the nonlinear depth, normal, and UV functions
  • the adaptive solution is based on prism volume and will adapt based on the motion and features


Vulkan SC: Overview - and how it is different from the Vulkan you already know

  • the article presents Vulkan for Safety-Critical applications
  • presents how Vulkan SC 1.0 differes from Vulkan 1.2
  • main differences are pipeline lading and more rigid memory allocation requirements
  • all pipelines need to be compiled ahead of time into caches. No runtime compilation is allowed
  • provides tools to inspect the compiler cache outputs


Beyond Sand & Spice: The VFX of Dune | DNEG Deep Dives

  • the video panel discussion presents a look at the VFX development for Dune
  • discussions about the processes, improvements and the effects of the sand screen compared against classical blue screen techniques


Sampling in Floating Point (1/3): The Unit Interval

  • the article presents a method to uniformly sample floats in the [0, 1) range
  • shows how floating-point precision can introduce biasing from integer division
  • shows alternative ways that improve the uniformity


[video] Interactive Graphics 16 - Shadow Mapping

  • the video tutorial explains the concepts required for shadow mapping
  • explains the foundational concepts, discussing transformations
  • presents how to implement shadow mapping using OpenGL


Thanks to Unai Landa for support of this series.


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