Cody Bennett
@Cody_J_Bennett
Followers
3K
Following
245
Media
199
Statuses
2K
@pmndrs, @threejs | Mathematician, Physicist | Graphics, Games, Cats
Austin, TX
Joined April 2021
Volumetric global illumination in 2D with Radiance Cascades.
3
3
128
Left GPC early, but incredible lineup this year and familiar faces with it.
0
0
4
WIP atmosphere implementation of "Production Ready Atmosphere Rendering" (Hillaire 2020) with ARC coefficients using Slang & WebGPU. On the ground, an RGBA16F 200x100 sky-view LUT is sampled, but in space, I raymarch for per-pixel transmittance at higher precision.
1
1
25
1.5 years after its initial release, the pmndrs/uikit project has officially reached version 1.0 🎉 1.0 comes packed with DX improvements, a new component kit, full support for vanilla @threejs and much more The amount of people and time that have shaped uikit is incredible 🤯
9
13
131
"byegl" is an initiative to make the WebGL->WebGPU transition seamless for established WebGL apps. In the end, apps that use "byegl" to migrate will be built on top of WebGPU, not on top of potentially limiting abstractions. Follow us along on the journey! #webgl #webgpu #byegl
The surface below is drawn using vanilla WebGL, yet the vertex buffer is generated procedurally with a WebGPU compute shader. Once complete, my solution will allow established WebGL apps to migrate to WebGPU, *incrementally*! I'm shaking from excitement 🫨 #webgpu #webgl
6
9
63
You can technically emit WGSL and GLSL from Slang, but this is not GLSL ES that can be used in WebGL. Once support for a GLSL ES target lands, I expect Slang to be quite potent for web projects that want yet another shading language for WebGL/WebGPU but built on real standards.
Made a Vite plugin to import and compile Slang shaders to use in web projects https://t.co/Fabq6gVkWa. Just enough to scaffold a personal project, but will support reflection and more targets (WebGPU + WebGL; see shader-slang/slang/#6142).
2
1
33
Made a Vite plugin to import and compile Slang shaders to use in web projects https://t.co/Fabq6gVkWa. Just enough to scaffold a personal project, but will support reflection and more targets (WebGPU + WebGL; see shader-slang/slang/#6142).
github.com
Vite plugin to use Slang shaders on the web. Contribute to CodyJasonBennett/vite-slang development by creating an account on GitHub.
2
8
57
Happy with results for real-time, but still work to do for correctness and stability over high depth complexity. Have to leave off here before SIGGRAPH. Will experiment with 1 screen-space cascade for pixel-perfect contact shadows. Radiance Cascades (no accumulation) / Blender
SPWI global illumination in 3D with Radiance Cascades and @garrettkjohnson's three-mesh-bvh. Probes are placed in screen-space and trace world-space intervals into a BVH. Resolves offscreen emitters and occluders; memory use tied to screen. Zero-shot, no noise, and fixed cost.
3
7
161
Excited to announce that I've shipped my first game! Written from the ground up in @threejs in 3 months and published on @VIVERSEofficial Some tech stuff that I'm really proud of: - fully custom spherical harmonics prt lighting. Giving a baked diffuse look while still
12
31
216
Marcin does brilliant work here, fully exploiting lesser-known WebGL2 features and procedural modeling. Excellent showcase. Wish I was in Osaka to experience it.
Full case study of Spirit Plant - our biggest project to date - is finally live! 🖼️🌱🌷 Learn more about - the installation concept - tech behind the generative plants and simulation - UI/UX design - and more... link below
0
9
75
In motion. Have not implemented min/max depth-based probes, so they float around depth discontinuities or thin geometry. It will let me subsample and further improve quality/performance.
1
0
6
Now with specular GI based on Filament BRDF. Real-time via WebGL/modified three.js with TEXTURE_BASE_LEVEL.
2
3
65
World-space single bounce / + screen-space infinite bounces
SPWI global illumination in 3D with Radiance Cascades and @garrettkjohnson's three-mesh-bvh. Probes are placed in screen-space and trace world-space intervals into a BVH. Resolves offscreen emitters and occluders; memory use tied to screen. Zero-shot, no noise, and fixed cost.
4
9
131
SPWI global illumination in 3D with Radiance Cascades and @garrettkjohnson's three-mesh-bvh. Probes are placed in screen-space and trace world-space intervals into a BVH. Resolves offscreen emitters and occluders; memory use tied to screen. Zero-shot, no noise, and fixed cost.
9
18
170
Progress on virtual geometry in three.js with GPU hierarchical culling. Greatly improved clustering with meshopt_buildMeshletsFlex. Below is a recreation of the dispersion glTF asset with the original scan at ~1M triangles. Next, streaming cleanup and then virtual texturing.
5
7
84
Progress on hierarchical clustering using the experimental meshopt_partitionClusters in lieu of METIS. Very fast and portable (using WASM). Not using meshopt_buildMeshletsFlex here yet, but the LOD chain is not as deep as I would like. Stanford Bunny is particularly problematic.
Reimplemented Hi-Z via TEXTURE_BASE_LEVEL to avoid ping-ponging during the downsample. This is all hacked into three.js. Not perfect but finally conservative. Next is to implement two-pass occlusion culling and then hierarchical clustering with recent Meshoptimizer improvements.
1
2
44
Reimplemented Hi-Z via TEXTURE_BASE_LEVEL to avoid ping-ponging during the downsample. This is all hacked into three.js. Not perfect but finally conservative. Next is to implement two-pass occlusion culling and then hierarchical clustering with recent Meshoptimizer improvements.
Working on GPU frustum and occlusion culling again, this time with meshlets and multidraw. Using WebGL, which lacks indirect drawing, so streaming results to the CPU from transform feedback, which lets me display misc stats. Calculating meshlet bounds myself, so no cone culling.
5
9
72