Andrea Gargaro (@agargaro_dev) header
Andrea Gargaro (@agargaro_dev) profile picture

Uncreative developer

Santeramo in Colle, Puglia
Joined November 2023
Photo by Andrea Gargaro (@agargaro_dev)Photo by Andrea Gargaro (@agargaro_dev)Photo by Andrea Gargaro (@agargaro_dev)Photo by Andrea Gargaro (@agargaro_dev)Photo by Andrea Gargaro (@agargaro_dev)Photo by Andrea Gargaro (@agargaro_dev)Photo by Andrea Gargaro (@agargaro_dev)Photo by Andrea Gargaro (@agargaro_dev)Photo by Andrea Gargaro (@agargaro_dev)Photo by Andrea Gargaro (@agargaro_dev)
Bone Animation Textures are now in InstancedMesh2 🦴 Skeletal clips are baked once into a GPU texture, and every instance plays its own clip, speed and crossfade. No per-frame CPU animation. 10,000 skinned monsters, WebGL, WebGPU. Link in the next post. #threejs #WebGPU #WebGL
14
15
3
177
10,283
The demo is live! It still needs some optimization but it's a good start. Add ?debug=true for stats and controls. Demo: instanced-mesh-showcase.verc… Code: github.com/agargaro/instance…
1
10
678
Far LODs cost less: reduceSkinInfluences drops bones within a pixel of error, and the smallest levels read the nearest baked frame instead of blending two. The previous clip is only read while a crossfade runs.
2
448
Andrea Gargaro retweeted
this is kinda nice, if a bit overkill. Maybe the flu speaking, but I love html-in-canvas because it enables weird stuff like this
10
2
1
96
2,547
Play it in your browser (desktop and mobile): instanced-mesh-showcase.verc…
2
2
363
How it works: • 4 LODs simplified at runtime with meshoptimizer • BVH for culling and raycasts (0.2 ms vs 90 ms linear) • sub-pixel culling with onFrustumEnter • flame, smoke, sparks and lasers in one InstancedMesh2 • same API on WebGPURenderer and WebGLRenderer
1
3
253
After a month of work, InstancedMesh2 now supports WebGPURenderer 🎉 250,000+ asteroids, WebGPU and WebGL: runtime LODs, BVH frustum culling and per-instance raycasting. Fly through the field and blast some rocks 🚀 #threejs #webgl #webgpu
8
7
3
80
5,622
Andrea Gargaro retweeted
Working on new examples and showcases for the InstancedMesh2 docs. First up: a friendly robot army showing off instanced skinning + per-instance culling! Built with @threejs. Robots by @KayLousberg. #threejs #webgl #gamedev
4
2
3
195
Today I started rewriting InstancedMesh2 to make it compatible with WebGPURenderer. InstancedMesh2 has been used more widely than I expected, and I’m grateful to you all. #threejs
3
31
1,337
My best friend @LuigiDenora’s enthusiasm after the three.js conf convinced me to get back to my open-source projects. I’ll use AI sparingly, so progress may be slow, but I’m really happy to be working on this again. Repo + findings soon.
1
1
1
9
374
Thanks to @mrdoob, three-gpu-pathtracer now includes a drag-and-drop viewer for binary glTF files 🚀 I've added a link to the viewer in the repo! #threejs #webgl #raytracing
1
7
87
9,040
Andrea Gargaro retweeted
Applying dietsprite to a generated octahedral impostor to reduce overdraw, will have to test with a bunch of instances to see how much impact this has #threejs
9
37
1
724
39,656
Andrea Gargaro retweeted
With WebGPU, AAA graphics on the web isn’t a dream anymore. Devs just need native-grade tools. That’s why I’m building Three.js Plus. Today I added GPU culling. Here 5M PBR cubes distributed in <10ms on a convex geo, running at 120fps thanks to object culling & indirect draws.
Today’s work reminded me: tossing more OSS into the void isn’t it. Too often it fades without support. So instead, I’m putting care into how I share, bundling the code I use daily at @utsuboco into Threejs Plus: advanced, always-up-to-date WebGPU-first components. 1/4
20
58
3
587
44,332
Andrea Gargaro retweeted
I did something → samsy.ninja Sound on & bring friends with you. Open to new opportunities. WebGPU @threejs
50
64
15
524
46,694
Andrea Gargaro retweeted
New #threejsJourney challenge means new addictive mini #webgame! 🎣 Hook a Fish! is live: catch as many fish as you can and beat your high score. Try it out on desktop or mobile and don’t forget to share! 📸👉 hook-a-fish.vercel.app #threejs #webgl #indiegames #r3f
14
10
113
9,338
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 allowing for dynamic objects - Runs completely inside a WebWorker (rendering & simulation) using OffscreenCanvas - Supports all input types: desktop, mobile, gamepad (non-trivial if your app runs in a worker!) - No Postprocessing! No bloom - everything you see is faked via mesh based shaders for performance reasons Huge thanks to @VIVERSEofficial who have made this possible by letting me into their Creator Program. It's not easy to make a living off gamedev on the web yet, so this is great for the ecosystem. All links below: #VIVERSE #threejs #IndieGameDev
13
31
3
216
14,708
Andrea Gargaro retweeted
This tree is only 2 triangles
138
310
41
9,030
675,384
Playing with my octahedral impostors library 🤓 There are still things to improve, should I continue? I created a demo with a terrain 3072 x 3072 and 200k trees. It should work on mobile too! Demo: octahedral-impostor.vercel.a… Github ⭐️: github.com/agargaro/octahedr… #threejs #webgl
9
12
1
151
8,246
Andrea Gargaro retweeted
Octahedral imposters mentioned yesterday @agargaro_dev. In the shader, I compute the quad the sprite is in, barycentric coordinates, then intepolate between frames. First pass, not super robust. They're alpha-tested and the blending could use work. #threejs #gamedev
3
5
94
5,705