Graphics Programming Weekly 456


Realtime Raytracing in Bevy 0.20 (Solari)

  • announces a rewrite of Bevy’s realtime pathtracer for the upcoming release
  • introduces unified ReSTIR that merges direct and indirect lighting into a single set of reservoirs
  • discusses why ReSTIR is disabled by default in favor of relying more on the denoiser


Introducing WebGPU-Bench: A WebGPU Microbenchmark

  • introduces a suite of 71 micro-benchmarks for measuring WebGPU costs across devices
  • covers arithmetic throughput, memory access patterns, operation costs, and compute comparisons for workgroup sizes and data layouts


Anatomy of a Texture

  • explains the differences if texture memory layout when converting textures between platforms
  • covers block compression, texel ordering and swizzles, mip chains, tiles, and packed mip tails
  • shares practical debugging tricks for identifying memory offset and alignment issues


[video] Memory Management, Explained Simply (Part 1)

  • introduces memory management using a packing analogy to show why custom allocators can outperform general-purpose solutions
  • covers static allocation, virtual address spaces, protected memory regions, ASLR, and direct OS allocation via mmap/VirtualAlloc
  • argues that manual versus automatic management is a false dichotomy and advocates for automating memory management based on data properties


The mathematical beauty of hyperbezier curves

  • proposes a new curve family defined by a Cesàro equation as a potential replacement for cubic Béziers
  • discusses how hyperbeziers approximate cubic Béziers at small angles, contain exact Euler spirals and circular arcs, and handle high-tension regions


How tetrahedral cages significantly reduce BVH memory usage

  • presents a technique for ray tracing massive amounts of animated geometry using deformable tetrahedral cages
  • explains how dense geometry and its BVH remain static while only the cage animates
  • shows a terrain demo with ~500 million animated plant triangles at 1.7 GB of BVH memory


Vulkan Hardware Database Quick Filters

  • announces a rework of the Vulkan Hardware Database filtering system
  • quick filters are now available on all views and can differ per page


What's New in WebGPU (Chrome 153-154)

  • covers new WGSL language extensions in Chrome 153-154, including buffer_view for type reinterpretation and swizzle_assignment for vector component writes
  • updates the texture-formats-tier1 JavaScript mapping and enables subgroups


From OpenGL to Vulkan

  • provides a high-level comparison of core concepts that stay the same and key differences when moving from OpenGL to Vulkan
  • explains explicit GPU selection, command buffer scheduling, resource lifetime management, descriptor sets, image layouts, and SPIR-V shader compilation
  • recommends libraries and an architecture built around frames in flight, deletion queues


[video] Unreal 5.8 - Surface stable Fractal Dithering (FULL TUTORIAL)

  • demonstrates how to recreate Runevision’s Surface Stable Fractal Dithering effect in Unreal Engine 5.8
  • covers calculating surface stretch with custom HLSL derivatives, fractal UV scaling and 3D volume texture sampling for smooth pattern transitions
  • implements the effect as a post-process pass


[video] The Return of the Utah Teapot - SIGGRAPH 2026

  • celebrates the 50th anniversary of the Utah Teapot
  • recounts the teapot’s origin as a procedural patch-based test model
  • traces the model’s evolution through community modifications and introduces a new curvature-continuous version released for the anniversary


Tone Mapping Analysis

  • presents a Unity project for analyzing and comparing tone mapping LUTs
  • includes a LUT comparison window, LUT exporter for shaders/materials/post-processing profiles, response graphs, and a custom Tony Vibrant tone mapper


AI + RenderDoc Integration: Automated GPU Analysis

  • explains how to combine RenderDoc’s command-line tool with an agent to programmatically inspect GPU captures
  • shows how structured exports let the agent audit pipeline states, descriptor sets, and sampler configurations
  • presents a walkthrough of a missing-texture example


Thanks to Nia Bickford for support of this series.


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