Graphics Programming Weekly 458


Special cased quaternion log and exp

  • presents specialized SIMD-friendly log and exp functions for unit quaternions
  • achieves error bounds comparable to standard-library implementations while avoiding full-turn angle ambiguity

Stochastic Graph Compression for Constant-Memory Differentiable Light Tracing

  • introduces Reservoir Light Replay Backpropagation (ResLRB) for reverse-mode differentiable light tracing
  • compresses the adjoint graph during the primal pass with a streaming weighted reservoir
  • yields an unbiased gradient estimator whose peak memory is independent of path length

A frame analysis of Hitman World of Assassination

  • analyzes a frame of Hitman World of Assassination
  • covers G-buffer generation, tiled deferred lighting, cascaded shadows, screen-space ambient occlusion/reflections, volumetric fog and post-processing


From Shader Optimization to LLM Inference: A Graphics Engineer's Guide to AI Performance

  • maps GPU optimization instincts from graphics to large-language-model inference
  • benchmarks Qwen3 models on an RTX 3090 across quantization, Flash Attention, KV-cache compression and speculative decoding
  • shows optimization targeting the different bottlenecks


Beginner Graphics Programming Study Guide

  • provides a self-study roadmap for learning graphics programming from free online resources
  • recommends C++, CMake, SDL alongside linear algebra, projective geometry and data structures


What's New in WebGPU (Chrome 155-156)

  • summarizes recent WebGPU and WGSL additions shipping in Chrome 155-156
  • highlights the fragment_depth extension, unaligned compressed textures, new linear color spaces and the snorm10-10-10-2 vertex format

Experimenting with Bindless Textures in WebGPU

  • introduces the upcoming bindless texture sampling support in WebGPU via GPUResourceTable
  • demonstrates a projected-decal emoji demo
  • compares bindless allocation against texture-array fallbacks and notes future heterogeneous resource tables


Real-Time Collision Handling for Signed Distance Fields via Caching and Importance Sampling

  • presents a real-time collision-detection framework for SDF-encoded geometry
  • combines temporal coherence caching with curvature-guided importance sampling to form sparse contact manifolds
  • runs complex scenes with thousands of rigid bodies


Dual-Source Blending

  • explains Metal dual-source blending, where a fragment shader emits a primary and secondary color for the blend unit
  • walks through using the technique to approximate sRGB-correct blending for Dear ImGui
  • concludes that programmable blending provides a more exact match on supported Apple Silicon GPUs


A Spatio-Temporal Acceleration Framework for Order-Independent Transparency

  • presents a plug-in acceleration suite for order-independent transparency
  • exploits spatial and temporal coherence through adaptive tiled sampling or variable-rate shading plus temporal reprojection


Revealing the secrets of our glow | Glitch Hunt Devlog

  • covers the development of a custom 2D lighting system in Unity for the cyberpunk game Glitch Hunt
  • applies data-oriented design principles to support hundreds of concurrent dynamic lights with minimal CPU overhead
  • details hand-drawn specular and bloom maps alongside reactive fog and rain systems


Introducing DxTimingCaptureLibrary

  • releases DxTimingCaptureLibrary, an open-source C++ helper for DirectX ETW events
  • exposes GPU timings, object lifetime, residency/paging, DirectStorage, pipeline compiles and PIX markers
  • provides samples for console logging, Perfetto tracing, D3D12 journal entries and memory visualization


Billions of triangles redux

  • updates meshoptimizer support for hierarchical clustered LOD using NVIDIA’s vk_lod_clusters sample
  • discusses meshopt compression, simplification improvements, error clamping and a new meshlet topology codec
  • shows the Zorah scene processing pipeline and foliage area-preservation heuristics


How Not to Build a Shading Language — BCON26

  • explains how Blender’s move from OpenGL to Vulkan and Metal exposed shader portability, compilation-time and legacy GLSL maintenance challenges
  • introduces Blender Shading Language (BSL), a C++ subset for sharing code between CPU and GPU
  • outlines plans to migrate more legacy shaders, expand C++ syntax support and consider binary formats as graphics standards evolve


The bgfx shader compiler, 14 years of not being a compiler

  • explains how bgfx’s shaderc translates a GLSL dialect to many backend languages without its own AST
  • relies on the C preprocessor, textual patching and real target compilers such as FXC, DXC, Glslang and Tint
  • compares the approach with modern alternatives


DASHR - Dynamically Animated Skinned Heightfield Rendering

  • presents a method that combines standard triangle mesh representations with per-pixel local raymarching to render displacement maps, volumetric effects, and self-shadowing on bone-animated meshes
  • preserves exisitng workflows and fallback to normal mapping


Thanks to Nia Bickford for support of this series.


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