Graphics Programming Weekly - Issue 383


Estimating variance reduction in importance sampling

  • the article provides an overview of Monte-Carlo and the Importance of sampling
  • discusses how to derive the variance reduction of the Importance sampling technique
  • shows how different approximations can present very different convergence behavior


Dithering in Colour

  • The article provides an overview of dithering colored images
  • Discusses the importance of color spaces and human perception of the results
  • Additionally, it provides a link to a separate article that focuses on monochrome dithering


Not Obviously Bad, and Obviously Not Bad

  • the blog post discusses the consideration of performance when designing general-purpose code
  • discusses various approaches to thinking about the problem
  • concludes that APIs should be designed to be “Not Obviously Bad” - avoiding obvious waste, such that if a random profile is taken, performance issues shouldn’t immediately stand out


GTC 2025


Reading AMD RDNA™ and CDNA™ Architecture Disassembly is a Breeze with AMD Radeon™ GPU Analyzer v2.12

  • the blog post presents improvements to the Disassembly view in the GPU Analyzer
  • can now present register pressure, branch visualization as well as tooltips explanations for the instructions


AMD Radeon™ GPU Profiler 2.4 adds support for AMD Radeon™ RX 9000 Series, pure-compute applications, DirectML applications (and more!)

  • the blog post presents new improvements to the AMD GPU Profiler
  • this includes support for profiling compute-only applications (without present calls)
  • as well as improved support for work graphs and DirectML workloads


[video] Screen Space Ambient Occlusion - Custom Lighting Models - Episode 9

  • the video tutorial explains how to implement Screen Space Ambient Occlusion using Unity
  • presents how to make the ambient component of the lighting pass aware of the ambient occlusion terms


[video] Depth Buffering // Vulkan For Beginners #19

  • presents how to add support for a depth buffer into a basic Vulkan application
  • explains how to set the resource creation, clear the depth target as well as the changes required to the object shaders


Thanks to Stephen Hill for supporting this series


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