Cody Bennett (@CodyBennett) profile picture

@pmndrs, @threejs | Mathematician, Physicist | Graphics, Games, Cats

New York City
Joined April 2021
Photo by Cody Bennett (@CodyBennett)Photo by Cody Bennett (@CodyBennett)Photo by Cody Bennett (@CodyBennett)Photo by Cody Bennett (@CodyBennett)Photo by Cody Bennett (@CodyBennett)Photo by Cody Bennett (@CodyBennett)Photo by Cody Bennett (@CodyBennett)Photo by Cody Bennett (@CodyBennett)Photo by Cody Bennett (@CodyBennett)Photo by Cody Bennett (@CodyBennett)
Much improved raytracing accuracy, with less over occlusion in background features, and more even ambient occlusion along the far walls. Some depth upscaling failures left for large depth discontinuities and disocclusion.
More WIP. Radiance Cascades computing world-space diffuse and specular GI for emissives and sky ambient lighting to a single bounce.
28
745
More WIP. Radiance Cascades computing world-space diffuse and specular GI for emissives and sky ambient lighting to a single bounce.
Some WIP. Fake skylight rendered with Radiance Cascades. Only direct lighting here with diffuse + specular GI to a single bounce.
6
9
1
173
4,626
Some WIP. Fake skylight rendered with Radiance Cascades. Only direct lighting here with diffuse + specular GI to a single bounce.
Noiseless glossy specular global illumination (single bounce) with Radiance Cascades by directly observing the cascade data with a split-sum approximation. No additional rays are traced here, and light transport remains independent of scene complexity and material properties.
3
7
1
161
7,351
Trying an unpublished method that is energy stable and can handle 1px features without angular undersampling or aliasing in motion.
Fresnel reflectance. Left: U-HRC, right path-traced 4k spp
4
14
175
6,360
Having both Rayleigh and Mie scattering vary with IOR based on the standard 1976 atmosphere model produces the right image, versus left from before.
Real-time spectral rendering of the atmosphere using Radiance Cascades with rainbows and refraction. Light paths are allowed to bend and create complex dispersion as well as atmospheric lensing.
10
178
5,295
Real-time spectral rendering of the atmosphere using Radiance Cascades with rainbows and refraction. Light paths are allowed to bend and create complex dispersion as well as atmospheric lensing.
Wave Cascades: A wave-optical extension of Radiance Cascades for real-time simulation of Lorenz-Mie scattering and Lorenz-Mie-Fresnel diffraction. Fully spectral Mie LUT is computed in real-time (white=measured, green=computed), and I sample it with UHRC which is fully spectral.
7
22
2
366
14,616
More direct comparison in RGB against prior works; no spectral rendering or refraction, no aerosols. Hillaire vs Radiance Cascades with anisotropic multiple scattering. Same coefficients computed with ARPC, just higher scattering orders are no longer isotropic like with Hillaire.
1
14
1,154
Cody Bennett retweeted
New Feature: Dynamic Point Light Shadows on all Torches!
Working on a new game. The engine is pulling a lot of weight to make the demo run on Chromebook tier hardware. This scene alone has: - 6 Mil Triangles - More than 400(!) 2k textures - Hundreds of Local Lights & Characters All of this in WebGL2 :)
3
3
27
1,874
Cody Bennett retweeted
Working on a new game. The engine is pulling a lot of weight to make the demo run on Chromebook tier hardware. This scene alone has: - 6 Mil Triangles - More than 400(!) 2k textures - Hundreds of Local Lights & Characters All of this in WebGL2 :)
34
37
8
613
63,316
Finally have bindless as an experiment in Chrome! toji.dev/2026/10/06/webgpu-b…
What's New in WebGPU (Chrome 155-156) is up! ⚡ State less/greater on builtin(frag_depth) to keep Early-Z optimizations 📦 Create compressed textures with unaligned block sizes 🎨 Render to srgb-linear and display-p3-linear color spaces Check developer.chrome.com/blog/ne… for more!
1
1
21
1,829
Based on my recent work for real-time Lorenz-Mie scattering and spectral volumetrics, I think it would suit well for atmosphere rendering in the style of Gran Turismo. Has anyone tried recreating their datasets, or better, results, also to compare? Want to try this in real-time.
Replying to @CodyBennett
Mie scattering is wavelength-dependent and varies over altitude and humidity, as described in "Physically Based Real-Time Rendering of Atmospheres using Mie Theory" and Gran Turismo 7 2023 GDC presentation. This phase is nice on the ground but doesn't hold up at higher altitude.
3
12
144
6,359
Wave Cascades: A wave-optical extension of Radiance Cascades for real-time simulation of Lorenz-Mie scattering and Lorenz-Mie-Fresnel diffraction. Fully spectral Mie LUT is computed in real-time (white=measured, green=computed), and I sample it with UHRC which is fully spectral.
7
26
1
359
21,113
At roughly double the density and half the scattering orders (32).
Real-time volumetric rendering of clouds with multiple scattering (64 orders) using Radiance Cascades. Demo / U-HRC (64^3) / Path-traced 1k spp
1
5
103
4,772
Real-time volumetric rendering of clouds with multiple scattering (64 orders) using Radiance Cascades. Demo / U-HRC (64^3) / Path-traced 1k spp
Trying more complicated scenes. Radiance Cascades does all lighting here: sub-surface scattering, caustics, volumetric multiple scattering (64 orders), and iridescence. Because the simulation is spectral, there is no approximation or fit for thin-film interference or iridescence.
9
21
3
412
21,449
Trying more complicated scenes. Radiance Cascades does all lighting here: sub-surface scattering, caustics, volumetric multiple scattering (64 orders), and iridescence. Because the simulation is spectral, there is no approximation or fit for thin-film interference or iridescence.
Experimenting with a multi-level cache for high-frequency effects based on my previous work for SPWI surface GI (left). Specular effects like caustics scale in 2D on surfaces. Also researching solutions to angular aliasing and flickering of depth-upscaled probes (right). No TAA.
4
22
2
254
33,571
Yes, this is (semi) real-time on a mid-range card. This doesn't run well at high res on mobile like my past work. And no, the bubbles should not be casting shadows with surface GI (fixed).
3
10
1,088
Experimenting with a multi-level cache for high-frequency effects based on my previous work for SPWI surface GI (left). Specular effects like caustics scale in 2D on surfaces. Also researching solutions to angular aliasing and flickering of depth-upscaled probes (right). No TAA.
An extension of Radiance Cascades global illumination to support complex transmissive and reflective light transport, including diffuse and specular reflection, refraction with dispersion, caustics, and subsurface scattering. Left: U-HRC (32^3), Right: spectral path tracer
9
41
5
494
41,904
Noiseless glossy specular global illumination (single bounce) with Radiance Cascades by directly observing the cascade data with a split-sum approximation. No additional rays are traced here, and light transport remains independent of scene complexity and material properties.
Some figures from a presentation I gave on Radiance Cascades recently. Covering the theory, intuition, and implementation in 2D and 3D for GI. Plus notes on future research.
5
17
1
248
15,644
An extension of Radiance Cascades global illumination to support complex transmissive and reflective light transport, including diffuse and specular reflection, refraction with dispersion, caustics, and subsurface scattering. Left: U-HRC (32^3), Right: spectral path tracer
5
60
2
787
46,125