Will Usher
banner
willusher.io
Will Usher
@willusher.io
Scivis, raytracing and graphics at https://www.luminarycloud.com/ by day. ChameleonRT (http://chameleonrt.com) & WebGPU by night

Site: https://www.willusher.io/

@[email protected]
Pinned
I had kept this as my pinned tweet, it's 5yrs old but still relevant today! My post + interactive tool on the RTX shader binding table to explain it across #DXR / #Vulkan / #OptiX www.willusher.io/graphics/201... . The tool can setup an SBT, scene, and call trace ray to see what shaders are called!
Reposted by Will Usher
All HPG 2025 papers are now available on the EG digital library.
CGF papers: diglib.eg.org/handle/10.23...
Conference papers: diglib.eg.org/handle/10.23...
It has been a huge honor to act as HPG papers chair and guest editor and I look forward to an exciting program in Copenhagen.
44-Issue 8
High-Performance Graphics 2025
diglib.eg.org
June 21, 2025 at 8:13 AM
Reposted by Will Usher
Here is a new blog post of mine, where I dive deep into the theory and math behind ReSTIR GI.

Big thanks to Markus Kettunen for verifying the theory, reviewing the article, and catching a key detail I had missed.

agraphicsguynotes.com/posts/unders...
Understanding The Math Behind ReSTIR GI
Recently, I had the pleasure of contributing to Nvidia’s Zorah project, the flagship demo for the RTX 50 Series GPUs. My primary role was to provide technical support for light transport in Zorah, whi...
agraphicsguynotes.com
May 10, 2025 at 12:11 AM
I gave a talk on large-scale data visualization on the web at the 3D on the web meetup last month at GDC, check it out
youtu.be/HzcFzCkt5aU?... to hear about what I'm up to with #WebGL #WebGPU #WebAssembly #Jupyter and some challenges I'm working on that I'd love to chat about!
Large Scale Scientific Visualization with WebGL, WebGPU & WebAssemply at 3D on the Web 2025
YouTube video by The Khronos Group
youtu.be
April 19, 2025 at 5:59 PM
If you're interested in 3D on the web and in the bay area next week for GDC/GTC or just live there, come by the meetup on Wednesday www.khronos.org/events/3d-on... ! There's a good line up of talks, I'll be talking about bringing scivis to the web w/ #WebGL / #WebGPU / #WASM
3D on the Web
Deploying and developing royalty-free open standards for 3D graphics, Virtual and Augmented Reality, Parallel Computing, Neural Networks, and Vision Processing
www.khronos.org
March 13, 2025 at 2:31 AM
Reposted by Will Usher
WebGPU Subgroup operations are the big new feature available in Chrome 134! developer.chrome.com/blog/new-in-...
What's New in WebGPU (Chrome 134)  |  Blog  |  Chrome for Developers
Improve machine-learning workloads with subgroups, shader compilation time improvements on D3D12, remove float filterable texture types support as blendable, and more.
developer.chrome.com
March 4, 2025 at 7:29 PM
Our paper on elevation-aware flood extent mapping brings topologically guided segmentation to the web for crowdsourced labeling. ML flood mapping models trained on these maps w/ our correction framework get similar quality as those w/ solely expert labels! PDF: www.willusher.io/publications...
February 27, 2025 at 5:30 AM
Reposted by Will Usher
A Stack-Free Traversal Algorithm for Left-Balanced k-d Trees
jcgt.org/published/00...
February 25, 2025 at 4:14 PM
Reposted by Will Usher
🚀 New ISPC v1.26.0 Release! 🚀
🔹 Improved ARM support & performance
🔹 New "generic" targets simplify ISPC design & ease new targets support
🔹 Better code generation for x86 & ARM
🔹 Lots of stability fixes
github.com/ispc/ispc/re...
Release === v1.26.0 === (6 February 2025) · ispc/ispc
ISPC release featuring improved ARM support, new "generic" targets that simplify ISPC's internal design and streamline the addition of new targets, improved code generation across x86 and ARM, and ...
github.com
February 7, 2025 at 6:30 PM
Reposted by Will Usher
📢 Scaling multithreaded #WebAssembly applications with mimalloc and WasmFS, by @kripken.com:
web.dev/articles/sca.... If you have a multithreaded #Wasm application that does lots of allocations or uses files, then you may benefit greatly by using WasmFS and/or mimalloc.
Scaling multithreaded WebAssembly applications with mimalloc and WasmFS  |  Articles  |  web.dev
WasmFS and the mimalloc feature in Emscripten can help a lot with allocation and I/O performance. This guide shows how these features can lead to speed improvements of 10 times or more in some cases.
web.dev
January 31, 2025 at 4:38 PM
Our new paper, Approximate Puzzlepiece Compositing, applies OIT to data-parallel rendering to efficiently render overlapping, jigsaw puzzle-like data distributions, without repartitioning or expensive compositing. It'll presented at Pacific Vis 2025, check it out: www.willusher.io/publications... !
January 27, 2025 at 4:22 AM
Reposted by Will Usher
My new blog post explains spectral radiometric quantities, photometry and basics of spectral rendering. This is part 2/2 in a series on radiometry. Learn what it means when a light bulb has 800 lumen and how your renderer can account for that.
momentsingraphics.de/Radiometry2P...
January 19, 2025 at 8:29 AM
Reposted by Will Usher
I've just announced my new (blazing-fast) kernel for implicit surfaces: mattkeeter.com/projects/fid...

It's got something for everyone: Cool graphs! Multithreaded WebAssembly! Terrible mesh topology! JIT compilers!

After three years, I'm excited to finally show it off to a wider audience 😎
January 8, 2025 at 3:17 PM
Reposted by Will Usher
Do you want to learn path tracing? Two lectures that I held at TU Delft are on YouTube now! The 2nd is what I had in mind for part 3 of my path tracing workshop. No Shadertoy exercises this time, but an open source Vulkan path tracer 🥳.
www.tudelft.nl/ewi/over-de-...
www.youtube.com/watch?v=Uerw...
December 19, 2024 at 11:47 AM
Reposted by Will Usher
I'm late for ~7 months, but I've finally published my C++ & WebGPU raytracer on GitHub! I've tried to keep the code fairly commented and readable.

It works pretty well, but I've never managed to make refractions work with VNDF. Maybe another time :)

github.com/lisyarus/web...
December 18, 2024 at 1:18 PM
Reposted by Will Usher
Sharing a starter setup for using @shader-slang.bsky.social with #WebGPU in C++ with #CMake, either for native or web targets. 🔹 Uses the #reflection API to auto-generate boilerplate code! ✨

👉 github.com/eliemichel/S...

Very happy to take feedback about what's good and bad in this demo! More⤵️ 1/8
November 26, 2024 at 9:27 PM
Reposted by Will Usher
Khronos will oversee the open-source Slang shading language and compiler www.khronos.org/news/press/k...
This is big. Slang is cross-platform, backward-compatible, and trivial to port to. It supports differentiation/gradient computation as the first-class citizen, allowing to merge ML and graphics.
Khronos Group Launches Slang Initiative, Hosting Open Source Compiler Contributed by NVIDIA
The Khronos Group has announced the launch of the new Slang™…
www.khronos.org
November 21, 2024 at 4:19 PM
Reposted by Will Usher
Nice summary of occupancy as a way to hide mem latency, but it is not the only (and sometimes not the best) way. Helping the compiler to add more instructions between the mem read issue and the data use by for eg partially unrolling a loop might help as well (from gpu-primitives-course.github.io)
November 17, 2024 at 12:46 PM
I had kept this as my pinned tweet, it's 5yrs old but still relevant today! My post + interactive tool on the RTX shader binding table to explain it across #DXR / #Vulkan / #OptiX www.willusher.io/graphics/201... . The tool can setup an SBT, scene, and call trace ray to see what shaders are called!
November 16, 2024 at 5:06 PM
Reposted by Will Usher
Graphics Programming weekly - Issue 365 - November 10th, 2024 www.jendrikillner.com/post/graphic...
November 11, 2024 at 3:41 PM
Reposted by Will Usher
tiny_bvh has been updated to 0.4.0. Changes:
1. speedtest reports compiler, CPU, lib version.
2. Performance is improving but Embree remains KOTH. :(
3. New: BVH optimizer!
4. New: Better test scene now included. Win64-only; the old one remains the default.
Next up: SBVH! github.com/jbikker/tiny...
November 9, 2024 at 3:42 PM
Reposted by Will Usher
Here's something I've been working on that's (hopefully) useful for others: a single-header spherical harmonics support library for HLSL 2021

github.com/TheRealMJP/S...
GitHub - TheRealMJP/SHforHLSL: SH for HLSL 2021
SH for HLSL 2021. Contribute to TheRealMJP/SHforHLSL development by creating an account on GitHub.
github.com
November 4, 2024 at 2:20 AM
Reposted by Will Usher
I put all of my Ray Tracing Gems chapters in one place where you can download them, extracted from books into separate PDFs: boksajak.github.io/blog/RayTrac...
There is:
1. "Ray Traced Shadows"
2. "Reference Path Tracer"
3. "Refraction Ray Cones"
4. "Many Lights With Grid-based Reservoirs"
My Ray Tracing Gems Chapters
boksajak.github.io
October 25, 2024 at 9:21 AM
Reposted by Will Usher
Graphics Programming weekly - Issue 362 - October 20th, 2024 www.jendrikillner.com/post/graphic...
October 26, 2024 at 4:44 AM
Reposted by Will Usher
Emscripten 3.1.66 is out! 🚀

github.com/emscripten-c...

Includes correctness fixes for pthreads and support for some newer WebGL extensions, among the usual bugfixes and general improvements.
github.com
September 10, 2024 at 6:02 PM
Excited to share some excellent recent work with Landon Dyken and Sidharth Kumar: www.willusher.io/publications..., we extend our progressive raycasting pipeline w/ an ML image completion step to stop raycasting early and complete the image with ML! It still runs in the browser using ONNX #WebGPU !
July 2, 2024 at 4:01 AM