- 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
- 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
- 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
- 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
- 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
- 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
- announces a rework of the Vulkan Hardware Database filtering system
- quick filters are now available on all views and can differ per page
- 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
- 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
- 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
- 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
- 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
- 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.