Graphics Programming weekly - Issue 324 - January 28th, 2024

Streamlining Subpasses

  • the new Vulkan extension allows developers to express local dependencies between sub-passes so that drivers can stay on-chip memory for tiled hardware
  • blog post explains the extensions, how to post existing applications to use the new extension

Khronos Releases Maximal Reconvergence and Quad Control Extensions for Vulkan and SPIR-V

  • Khronos released two new SPIR-V extensions
  • the first extension guarantees reconvergence behavior to require the behavior many programmers’ intuition assumed to work
  • additionally, a new extension allows correct divergence handling within a quad
  • the blog post explains the previous issues and how the extension solves them

Portals are misunderstood

  • the blog post describes the history of Portals and BSP trees
  • expands the ideas to more modern concepts and suggests the applicability of GPU based solutions

Don't Use Moving Averages

  • the article presents issues with moving averages and suggests using binomial averages instead
  • shows data examples to highlight the issues and explain in frequency domain why they happen

Profiling WebGPU with PIX

  • the article shows how PIX can be used to debug WebGPU applications
  • shows what is required to attach PIX, get debug-marker output, as well as frequent issues

Efficient GPU Rendering for Dynamic Instances in Game Development

  • the author discusses a method to use indirect drawing to draw a dynamic number of instances of each type on the GPU
  • The article provides an overview of the implementation (with code examples)
  • additionally provides a couple of optimizations and future development steps

Shining a light on Caustics with Shaders and React Three Fiber

  • the blog post provides a detailed walkthrough of the implementation of a caustics effect using WebGL
  • shows the different elements the effect is made up of and how to simulate the different phenomena
  • intermediate samples are presented as interactive WebGL examples

Thanks to Giuseppe Modarelli for support of this series.

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