PBR shader wrapped up. Diffuse and Specular maps are generated via cmgen CLI
#webgpu
@douglilliequist.bsky.social
Creative Technologist. Currently at Immersive Garden. Previously at Active Theory.
PBR shader wrapped up. Diffuse and Specular maps are generated via cmgen CLI
#webgpu
Sincerely #three.js, but if you donβt like to work with fixed pipelines and low level stuff, you are not an advanced user.
30.09.2025 05:49 β π 2 π 0 π¬ 0 π 0Finally found the cause: override doesn't seem to work with compute shaders in Safari.
23.09.2025 19:33 β π 1 π 0 π¬ 1 π 0This sucks. None of my prior WebGPU sketches work on the new Safariβ¦but works perfectly fine on Chromeβ¦
20.09.2025 20:45 β π 0 π 0 π¬ 0 π 0Also, Iβll sound very harsh: do yourselves a favour and drop any projects or ponder on solutions that are based on WebGL.
It is outdated, performs horribly and requires tedious hacks to MAYBE get what you want.
With WebGPU, you can think about and solve problems in a more reasonable fashion
Not that I would consider myself an expert at this point (yet), but PBR is surprisingly straightforward!
The hassle is generating the assets needed for IBL.
All right: time to learn what is actually going on behind a PBR shader and make one myself.
10.08.2025 08:38 β π 1 π 0 π¬ 0 π 0Marching cubes experiment made with my own WebGPU framework πΏπ Hope you'll find it fun and inspiring (and satisfyingly disgusting π« )!
dougllab.netlify.app/marchingcubes
#webgpu #creativecoding
Very nice. Removed an awkward copyBufferToTexture and now my 3D blurring is even faster! Guess I'm ready to start diving in to marching cubes...
#webgpu
Have to try this, but after reading some fine printβ¦storage textures can eventually be used with samplers depending on the bindings.
This is awesome, but this means i have some hefty refactoring to do on my fluids and shadow volumesβ¦
Raymarching volumetric lighting is a bit slow⦠:(((
06.07.2025 21:18 β π 0 π 0 π¬ 0 π 0My voxelizer is working! 128^3 voxels < ~150us. 256^3 around < ~800us (on my M1Pro)
Ironically, visualising the voxels is heavier than the voxelizer itself...
*cackles manically*
#webgpu
Too much at work. Have some fun concepts I want to explore for a few days during my vacation.
24.06.2025 07:59 β π 0 π 0 π¬ 0 π 0Cool accident while updating a previously SD 1.5 based workflow to SDXL / HotshotXL.
Not a fan of how all the motion models are aiming for "perfection" and in my workflow's case, I need AnimateDiff + frame interpolators still!
#comfyui #aiart
If there is anything that worries me, it is not βAI taking our jobsβ.
In the end, an experienced dev will know what to prompt compared to one with less experience.
Iβm more concerned about project deadlines becoming more and more unrealistic due to the false belief that βAI can do everythingβ
This. Been through a ton of stressful moments and project crunches for this very reason.
04.05.2025 17:19 β π 3 π 0 π¬ 0 π 0WebGPU support.
04.05.2025 10:29 β π 10 π 0 π¬ 0 π 0125k flocking boids
particle volume shadows
3d fluids (32^3) using hand tracker as cursor
120 fps on M1 pro
Learned a ton doing this project, but I'm bored of particles at this point π
Hopefully this will be fun and inspiring to whomever tries this out!
dougllab.netlify.app/birds
#webgpu
Software rasterised points using compute perhaps? π€
20.04.2025 06:35 β π 0 π 0 π¬ 0 π 0Google mediapipe!
13.04.2025 18:38 β π 1 π 0 π¬ 1 π 0Kindoff getting there! Using pressure makes it more interesting...
Maybe a habit thing, but interacting in a 3D space feels like you need to "master" the interaction which isn't too fun. More parameter tweaking! πͺ
#webgpu
Ah! You *can* use samplers in compute shaders! Just have to make sure you are using textureSampleLevel!
#webgpu
After this practice project I'll be going back to soft-bodies. Particles are getting quite repetitive now...
13.04.2025 12:07 β π 0 π 0 π¬ 0 π 0ouuuufffff...the compression is horrible......
13.04.2025 12:05 β π 0 π 0 π¬ 0 π 0Back at it! Integrating my 3D fluids into my original boid simulation. Lots of finetuning is needed and scaled up the particles to avoid compression π
Doing so reveals a fair bit of aliasing...
Also learned that using samplers is not allowed in compute shaders :(((((
#webgpu #creativecoding
Same, takes a fair bit of calibration with media-pipeβ¦not to mention every hand is differentβ¦could maybe to a fancy average bbox size after N frames to make it even more accurate π€
Fully doable! Quality however is GPU bound as I need a lot more iterations and voxelsβ¦
Few subtle error fixes later and now it looks even better! π
#webgpu #creativecoding
With gradient subtraction (familiar fluid look) π and with my setup it is easy to toggle between the two behaviors Β π¨
#webgpu
Just to show I'm not bluffing π€
#webgpu
Just need some calibration, but the handtracking is doing wonders!
For the Z, I compute a 2D bounding box and use the area as the Z position (far away == sm0l hand, big hand == close)
#webgpu