Kenny.wtf
banner
kenny.wtf
Kenny.wtf
@kenny.wtf
Big planet terrain stuff. Building https://geomancer.kenny.wtf, a #procgen google earth for your fantasy worlds.
Frustum-culling now comes standard in the #HelloTerrain system~

I always enjoyed the debug demonstrations like these, now I get to make my own!

#threejs #webgpu #tsl #procgen
November 2, 2025 at 2:11 PM
Normal map compute stage - fixed ✅

You can't tell where the seams are anymore, how about that!

#procgen #terrain #threejs #webgpu
November 1, 2025 at 6:19 PM
Heightmap compute stage: done ✅
Normal map compute stage: some flashing, overwriting index issues? 💥
Texture splatting stage: todo

already feels very fast compared to previous implementation, huge terrains running at 60-120fps

#procgen #threejs #webgpu #terraingen
October 31, 2025 at 1:58 PM
wheeee, it mostly works in react-three/fiber, with updating the params in real time
September 24, 2025 at 4:28 AM
My #webgpu compute shader terrain engine now can make LODs from a quadtree, at about 0.2ms (only when the quadtree needs to resolve, not each frame!). Next step is to use that data to generate normals and texture splats. Users can simply pass in an elevation function!

#threejs #tsl #procgen
September 24, 2025 at 1:56 AM
Hello Terrain library progress, now using the improved terrain geometry, and a bunch of new convenient #tsl nodes~ This shows a new TerrainMesh which handles the instancing, compute shader stuff coming next.

#threejs #webgpu #procgen
September 8, 2025 at 2:30 AM
Oh yeah this is feeling nice and slick. Going to make it easy to read from all those compute shader buffers
September 5, 2025 at 2:46 PM
The default planeGeometry from #threejs has this quirk in the vertices where if you pull down the outer ring to make a skirt (a way to hide terrain seams), you would get this little alcove from a crossing edge

Made a new geo has four-way symmetry to fix it, it's pretty~
September 5, 2025 at 1:48 PM
Some bad math happening at the edges and skirts, but that's heightmap data being streamed from the compute pass only when the cpu quadtree updates. Next is to mop it up and implement the normal compute stage.

#threejs #tsl #webgpu
September 1, 2025 at 7:59 PM
Was able to get a compute stage set up. Now I'll write all the data to a heightmap, normals, and texture splat buffer for each node only when the quadtree resolves differently, instead of doing it for each vertex each frame.

#threejs #tsl #webgpu #procgen
August 31, 2025 at 6:02 PM
This looks and feels amazing. How far a little bit of quadtrees and textures will get you. Zooming off a drop from a 100km tall "mountain"

#threejs #tsl #webgpu
August 14, 2025 at 3:39 AM
I think this is textures working, weighted by slope and texture heightmaps. The textures are pretty detailed which creates a lot of noise when far away, I wonder how to fix that

#threejs #webgpu #tsl
August 12, 2025 at 3:59 PM
Normals are now blended properly according to this wonderful article, so they're reoriented to the underlying surface: blog.selfshadow.com/publications...

I've made a gist of the #TSL:
gist.github.com/kenjinp/5900...

#threejs
August 3, 2025 at 7:47 PM
Dunesea with 1km tall dunes 🐪🐪🐪 #threejs #procgen
August 3, 2025 at 5:29 PM
why don't you go low-flying with me this weekend?

#threejs #procgen

r3f.maximeheckel.com/webgpu/gpu-q...
August 2, 2025 at 12:16 AM
I have achieved perhaps playstation-era graphics (but big scale)

#threejs #procgen
August 1, 2025 at 2:09 AM
FBM noise looks pretty good, still trying to figure out how to get the normals to be calculated on the frag shader with TSL. At least I think that's the problem, the shading is flat on the polygons. #threejs #procgen
July 25, 2025 at 2:35 PM
hop in nerds, we're doing huge webgpu worlds~
#threejs
July 22, 2025 at 12:45 PM
Hey TSL isn't so bad, just need to figure out how to get the worldUV in all my nodes... Very fun to play with. I wanted to light all the rivers into a rainbow, but best I got was sea level.

#threejs
July 19, 2025 at 11:39 PM
Okay, I managed to get terrain skirts looking okay and math'd a bit better, even though my plane tiles have two more triangles than they should ¯\_(ツ)_/¯
July 19, 2025 at 9:07 PM