That being said though, I tried on two occasions to port previously written WebGL sketches to WebGPU. Even with subagents, I have not managed to perform a successful port with only agents. Slight bummer, but this makes me relieved that there is still a need for human hands…for a while.
DougLilliequist
@douglilliequist.bsky.social
Creative Technologist. Currently at Immersive Garden. Previously at Active Theory.
I’m barely typing code these days and starting to fully embrace agentic development. That said, it has taken a fair amount of research, trials and errors to get the reliable outputs I’m getting.
Lots of changes since last post. My framework Davine is now released under OFrame as OGPU. github.com/oframe/ogpu
GitHub - oframe/ogpu: Minimal WebGPU Library
Minimal WebGPU Library. Contribute to oframe/ogpu development by creating an account on GitHub.
github.com
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.
Finally found the cause: override doesn't seem to work with compute shaders in Safari.
This sucks. None of my prior WebGPU sketches work on the new Safari…but works perfectly fine on Chrome…
Also, 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.
Marching 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…
a man with glasses and a mustache is sitting in front of a sign
ALT: a man with glasses and a mustache is sitting in front of a sign
media.tenor.com
Raymarching volumetric lighting is a bit slow… :(((
My 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.
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”
125k 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
Kindoff 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...
Back 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
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 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
A few months back I made an attempt to recreate the hiss warp effect from the game 'Control'. Curious to move this exploration to WebGPU... #webgl #creativecoding
My hunch was correct. What I thought was working was just seeing my density being diffused...but never advected. *Now* it is properly working 🌊 Time to set up hand tracking as using a regular trackpad is not too exciting...and conveying a higher dimension on a 2D surface makes no sense. #webgpu
Troubleshooting. Maybe it's my OCD, but had a feeling that my fluids never got properly advected... Believe this is how it should look like...will continue at a later point. #webgpu