expenses.bsky.social
expenses.bsky.social
@expenses.bsky.social
@drkay.gay Dr Kay, hi, I watched a presentation you did for the space game and I'm curious about how these luminosity and dust images were created.
June 5, 2025 at 11:33 AM
Cool tattoo ideas:

- Satoshi's private key
- A proof that P != NP
- Instructions on how to build a faster than light warp drive
- Algebraic solution to Kepler's equation
- Chemical structure of a non-neutotoxic empathogenic drug
February 22, 2025 at 5:30 AM
I've been working on a high quality GPU voxelizer recently
February 4, 2025 at 7:06 AM
expenses.github.io/voxviewer-wa... I've completed the switch to 64-trees, changed to a sponza model and added metallic/roughness as material settings.
January 13, 2025 at 2:32 PM
January 11, 2025 at 5:06 PM
Switching to 64-trees has worked pretty well so far. The ray tracing algorithm from dubiousconst282.github.io/2024/10/03/v... seems to be quite a lot faster, and scales better to larger scenes (500^3 here).
January 10, 2025 at 1:28 PM
Okay, latest version is up!
January 9, 2025 at 9:44 AM
Okay, I got it rendering a proper model. Performance on my laptop with a max bounce count of 2 (max 3 normal rays + 3 shadow rays). Not sure how best to go about profiling things, but I'll give amd's GPU profiler a go
January 7, 2025 at 10:13 AM
I'm in a slightly awkward position where WebGPU feels so limiting that restricting myself even further but by using webgl2 wouldn't be that much of a stretch...
January 7, 2025 at 6:16 AM
You can modify materials now! Tonemapping is fixed. There's an issue where if you set the emission factor super high and leave samples to accumulate, the result starts to look a little funky as the 16-bit floating point buffer starts to loose precision. Switching to a 32-bit buffer would fix this.
January 7, 2025 at 4:15 AM
expenses.github.io/voxviewer-wa... I've fixed the lighting, added emissive materials and basic tonemapping. Think I should be using a slightly different sampler for the tonemapping. I'll fix that later!
January 6, 2025 at 10:04 AM
expenses.github.io/voxviewer-wa... now with pathtracing! The shadow banding issue seems to have been solved - think it was an issue with floating point errors accumulating? I think there might be issues with bounces going through walls or something. But good progress regardless.
January 6, 2025 at 6:46 AM
expenses.github.io/voxviewer-wa... now with soft shadows and sample accumulation! There's some banding going on at the moment, presumably because I'm using a low quality rng sampler as the standard one doesn't compile for wgsl (it uses 64-bit ints). I'll try fix this next time.
January 5, 2025 at 1:19 PM
New day, new shader compilation issue 😅😅 I think I should be able to work around this fairly easily? I really want to see how far I can take this Nvidia shading & sampling code. Multiple importance sampling would be nice to have, so stuff like environment maps can be quickly integrated
January 5, 2025 at 8:10 AM
github.com/NVIDIAGameWo... oh sick, Nvidia has a bunch of nicely parameterized BXDFs here that I should just be able to import into my slang code.
Falcor/Source/Falcor/Rendering/Materials/BSDFs/DisneyDiffuseBRDF.slang at 9dc819c162b2070335c65060436041690b7937f8 · NVIDIAGameWorks/Falcor
Real-Time Rendering Framework. Contribute to NVIDIAGameWorks/Falcor development by creating an account on GitHub.
github.com
January 4, 2025 at 5:28 PM
T_T ran into a shader inconsistency problem. wgpu supports vec3<bool> && vec3<bool> but Chromium/dawn doesn't.
January 4, 2025 at 11:58 AM
expenses.github.io/voxviewer-wa... demo as promised. There's not much functionality so far, but you can adjust the lighting and move the camera around by dragging. Requires a browser with webgpu enabled (just displays a white screen without one).
expenses.github.io
January 4, 2025 at 10:35 AM
January 4, 2025 at 6:03 AM
Progress on a web voxel renderer is coming along well. I've had to ditch bevy as it was making things way too complicated and wasn't providing many benefits on the rendering side (I'll have to write my own http fetch asset loader and post processing passes but that's NBD). Demo tomorrow hopefully?
January 3, 2025 at 5:27 PM
It's really weird that shader compilers and optimizers still can't precompute normalizing a constant vector.
January 2, 2025 at 10:27 AM
Nice, the shadertoy code ran through slang more or less works without any logic (these were a few compilation problems) fixes.
January 2, 2025 at 9:11 AM
Right, so I think my current priority is to get a 'megavoxel' (as in, it'd be nice for it to comfortably support 1 million voxel (100^3) scenes) renderer working more or less everywhere, with basic editing capabilities.
January 2, 2025 at 6:28 AM
Okay WebGPU, you got < 2 years. Let's see how many of these get implemented :P
January 2, 2025 at 5:47 AM
Neither DirectXShaderCompiler (dxc) nor WebGPU support 8-bit ints in 2025 :( :( :(
January 1, 2025 at 10:38 AM
www.shadertoy.com/view/MX3czs

I wrote this piece of shadercode a few days ago to ray trace a Signed-Voxel-Octree DAG. It's pretty unoptimized but gets the job done and it's fairly simple. Pretty cool how easy it is to define a Sierpiński triangle with the node structure.
Shadertoy
www.shadertoy.com
January 1, 2025 at 8:16 AM