Sign in

Topotoy Labs

@topotoylabs.bsky.social
246 followers 9 following 188 posts

I enjoy pain. That is why I code simulation engines. My blog: brashandplucky.com

PostsRepliesMedia
Topotoy Labs @topotoylabs.bsky.social · 03/10/2026
I've been trying to find an all-procedural solution for vegetation in my planetary engine and came up with an implementation of "Self-organizing tree models for image synthesis" (Palubicki et al.) #gamedev #indiedev #solodev
2153
Topotoy Labs @topotoylabs.bsky.social · 29/09/2026
I've been adding support for OSM data to my planetary engine and working on the geometry to extrude believable buildings and sidewalks. I've also added a basic procedural dressing system built around a set of reusable modules. #gamedev #indiedev #solodev
1154
Topotoy Labs @topotoylabs.bsky.social · 16/09/2026
First visualization from the dynamic meteorology experiment. I am essentially following the ideas from this paper: “A Controllable Method for Animation of Earth-scale Clouds” by Dobashi, Yamamoto & Nishita (CASA 2006). #indiedev #gamedev #solodev
2202
Topotoy Labs @topotoylabs.bsky.social · 15/09/2026
I'm trying these days to find a way to make the statistics of clouds to not be anchored at the observer (like below, which only looks ok at low altitude) and be driven, hopefully, by some sort of global meteorology sim. More info soon... #indiedev #gamedev #solodev
0142
Topotoy Labs @topotoylabs.bsky.social · 13/09/2026
More progress coming soon! #indiedev #solodev #gamedev
0154
Topotoy Labs @topotoylabs.bsky.social · 05/09/2026
Here's my weather/atmosphere sim system combined with my planetary-scale ocean water sim, now with some jacobian-based entrailed bubbles and foam. #indiedev #gamedev #solodev
2203
Topotoy Labs @topotoylabs.bsky.social · 25/08/2026
Some more work on my dynamic clouds/daytime/weather system. Keeping all radiometries correct (?) + storing everything in FP16 + doing dynamic exposure without loss of data or color banding has required being smart about pre/post multiplications.
060
Topotoy Labs @topotoylabs.bsky.social · 26/07/2026
bridson + delaunay + boundary tris removal + ear-cutting+ relax + dissolve some edges + dual + create some "rip" edge chains, tagging whether ground will fault left/right-wards + tag some ngons as beach + floodfill inland growing height respecting the rip constraints + subdiv #indiedev #gamedev
1527
Topotoy Labs @topotoylabs.bsky.social · 25/07/2026
Prototyping a little idea with my topology/geometry kernel for cutesy island generation.
0121
Topotoy Labs @topotoylabs.bsky.social · 08/07/2026
Slooowly coding my way into a greatly simplified yet mostly operational F-16 into my bespoke terrain engine #indiedev #gamedev #computergraphics #procedural #terrain #rendering
3162
Topotoy Labs @topotoylabs.bsky.social · 18/06/2026
An early implementation of the cloud system in my planetary engine, heavily based on the work by Schneider at Guerrilla Games. Still struggling with performance, stability/jittering issues, etc... #indiedev #gamedev #computergraphics #procedural #terrain #rendering
1190
Topotoy Labs @topotoylabs.bsky.social · 02/06/2026
Taking a little early morning (clunky) walk #indiedev #gamedev #computergraphics #procedural #terrain #rendering
0153
Topotoy Labs @topotoylabs.bsky.social · 02/06/2026
Taking a little early morning (clunky) walk #indiedev #gamedev #computergraphics #procedural #terrain #rendering
083
Topotoy Labs @topotoylabs.bsky.social · 28/05/2026
New mountain-scale shadow system in my engine. It is a planet-wide horizon visibility bake: every texel on the surface knows how much of the sky is open above it, and that feeds straight into the aerial perspective and sun shading. #indiedev #gamedev #computergraphics #procedural #terrain #rendering
1253
Topotoy Labs @topotoylabs.bsky.social · 11/05/2026
A long road ahead still #indiedev #gamedev #computergraphics #procedural #terrain #rendering
0122
Topotoy Labs @topotoylabs.bsky.social · 11/05/2026
A long road ahead still #indiedev #gamedev #computergraphics #procedural #terrain #rendering
0102
Topotoy Labs @topotoylabs.bsky.social · 27/03/2026
I'm adding support for a new channel in my terrain streaming system for vegetation density. I am baking LOD'ed data from Copernicus Global Land Cover (PROBA-V LC100) for tree/shrub/grass cover. No vegeration rendering yet though. 😓
030
Topotoy Labs @topotoylabs.bsky.social · 25/03/2026
I finally fixed all the cracks at tile boundaries in my terrain engine + I started experimenting with run-time procedural fine detail over the GIS data #indiedev #gamedev #computergraphics #procedural #terrain #rendering
2243
Topotoy Labs @topotoylabs.bsky.social · 14/03/2026
I finally found some time to try to make sense of and port (~ verbatim) to my Vulkan framework this paper and example code repo: (PB-MPM by Chris Lewin @ EA). I'll try to add dual coupling with rigid solids at some point. #mpm #sim #vulkan #gamedev
1272
Topotoy Labs @topotoylabs.bsky.social · 13/03/2026
I've been fleshing out the subsystems for actors, user input, and Jolt physics integration. #indiedev #gamedev #computergraphics #procedural #terrain #rendering
1225
Topotoy Labs @topotoylabs.bsky.social · 02/03/2026
Taking some clunky baby steps: Better actor vs. terrain collision + Mostly fixed cascaded shadowmaps #indiedev #gamedev #solodev #customengine #procedural #terrain
091
Topotoy Labs @topotoylabs.bsky.social · 28/02/2026
Getting ready to drop some non-procedural geometry in the terrain engine. 💥 #indiedev #gamedev #solodev #customengine #procedural #terrain
0122
Topotoy Labs @topotoylabs.bsky.social · 24/02/2026
Starting to add physics to the terrain! Dropping massive 500m spheres and watching them roll down the mountains 🏀 #indiedev #gamedev #solodev #customengine #procedural #terrain
2164
Topotoy Labs @topotoylabs.bsky.social · 14/02/2026
Beyond GIS elevation data limits, procedural detail is added on the GPU. Elevation bounds for culling (yellow boxes) and tile heightfields for physics use async GPU read-back. Still experimental! #indiedev #gamedev #solodev #customengine #procedural #terrain
0121
Topotoy Labs @topotoylabs.bsky.social · 12/02/2026
A new elevation cache (leveraging the same systems as the render tiles cache) will be used to cook heightfields for the physics system. Actors (like the camera) read-back tiles from the GPU in their vicinity at a specific LOD level. #solodev #indiedev #gamedev #customengine #procedural #terrain
1163
Topotoy Labs @topotoylabs.bsky.social · 11/02/2026
Ocean waves swell in Z, intersecting terrain in low areas like beaches. I render terrain into the stencil buffer to exclude water from terrain pixels. The first part of the video toggles stencil on/off. #solodev #indiedev #gamedev #procedural #terrain #rendering
0153
Topotoy Labs @topotoylabs.bsky.social · 04/02/2026
First integration of the ocean system into the terrain with aerial perspective 🌊 #solodev #indiedev #gamedev #procedural #terrain #rendering
0204
Topotoy Labs @topotoylabs.bsky.social · 01/02/2026
This is an implementation of what I was talking about in my previous post: A grid in screenspace, clipped to the horizon (conic) of the planet (a sphere) for ocean rendering. 🧵 #solodev #indiedev #gamedev #procedural #terrain #rendering
1182
Topotoy Labs @topotoylabs.bsky.social · 29/01/2026
For planetary ocean rendering I use a screen-space projected grid. The grid starts as a flat mesh in NDC, and each vertex is projected onto the sphere surface. But what about vertices that point at the sky? You need to clip the grid to the horizon. The horizon is a CONIC SECTION. #solodev #gamedev
1162
Topotoy Labs @topotoylabs.bsky.social · 27/01/2026
Waking up in the Grand Canyon 🌅 Still doing optimizations and clean-ups before going back to ocean rendering. #indiedev #gamedev #computergraphics #procedural #terrain #rendering
0132
Topotoy Labs @topotoylabs.bsky.social · 24/01/2026
Here's where I'm at, combining some of the building blocks I've been working on recently: terrain LOD, atmosphere with aerial perspective, starmap, and auto-exposure. #indiedev #gamedev #computergraphics #procedural #terrain #rendering
3213
Topotoy Labs @topotoylabs.bsky.social · 23/01/2026
You wake up in the middle of the night, floating in space. No ground. No walls. Nothing to grab. Just you and the stars... #indiedev #gamedev #computergraphics #procedural #terrain #rendering
0102
Topotoy Labs @topotoylabs.bsky.social · 14/01/2026
A first something-ocean... Still massive amounts of work to do in terms of appearance, numerical precision at large scale, etc... #indiedev #gamedev #computergraphics #procedural #terrain #rendering
292
Topotoy Labs @topotoylabs.bsky.social · 10/01/2026
This is the UV space the ocean waves will be rendered in (100km per tile in the video). Still chasing some planetary-scale numerical precision issues both near the horizon and at close range... #indiedev #gamedev #computergraphics #procedural #terrain #rendering
092
Topotoy Labs @topotoylabs.bsky.social · 09/01/2026
Starting work on ocean waves. This is a camera-space grid where each vertex is raycast-projected onto the planet. Quads where at least one vertex misses the sphere are squashed onto the sphere's boundary (blue). #indiedev #gamedev #computergraphics #procedural #terrain #rendering
092
Topotoy Labs @topotoylabs.bsky.social · 06/01/2026
I added to my geo data baking system the ability to precompute the [lo..hi] elevation range for each tile to have the ability to do tighter (frustum, skyline, ...) culling in render-time. #indiedev #gamedev #computergraphics #procedural #terrain #rendering
0182
Topotoy Labs @topotoylabs.bsky.social · 31/12/2025
Happy New Year everybody! Wrapping up 2025 and heading into 2026 happy that my terrain system is starting to pan out 🥳 #indiedev #gamedev #computergraphics #procedural #terrain #rendering
1102
Topotoy Labs @topotoylabs.bsky.social · 28/12/2025
I've been implementing in Vulkan both the LUT precalc and runtime shading from "Precomputed Atmospheric Scattering" by Bruneton/Neyret. What a masterpiece of a paper! 🤯 #indiedev #gamedev #computergraphics #procedural #terrain #rendering
1113
Topotoy Labs @topotoylabs.bsky.social · 26/12/2025
My planetary-scale engine is finally behaving. Recently I've been battling I/O stutter and cache thrashing. Here's where it's at: #indiedev #gamedev #computergraphics #procedural #terrain #rendering
6793
Topotoy Labs @topotoylabs.bsky.social · 24/12/2025
Merry Christmas everyone all over the world! 🎄🎅🌍 #indiedev #gamedev #computergraphics #procedural #terrain #rendering
0145
Topotoy Labs @topotoylabs.bsky.social · 23/12/2025
If you can think of a better approach, let me know! To bake the ~3TB Copernicus DEM dataset into 80GB of mipmap-pyramid tiles, here's what I did 🧵 #indiedev #gamedev #computergraphics #procedural #terrain #rendering
184
Topotoy Labs @topotoylabs.bsky.social · 22/12/2025
The GLO-30 Copernicus DEM (ESA) is a global lat-lon mosaic of 360x180 grayscale elevation tiles. Each tile covers 1°×1°, stored as a floating-point TIFF (meters), at 3601×3601 px. The full dataset reaches 1296000x648000 samples worldwide. #indiedev #gamedev #procedural #terrain
163
Topotoy Labs @topotoylabs.bsky.social · 19/12/2025
Standard vs. "Relaxed" cube-sphere projection on Earth 🌍 1: Classic normalization. Notice the stretching at cube corners. 2: NASA's relaxed formula. Nearly uniform cells everywhere. A little thread on the math 🧵 #indiedev #gamedev #computergraphics #procedural #terrain #rendering
1204
Topotoy Labs @topotoylabs.bsky.social · 11/12/2025
I am chugging through literal terabytes of topographical info for my terrain system. Re-projecting, mip-mapping, ... I hope to have some pretty stuff to post soon. #indiedev #gamedev #computergraphics #procedural #terrain #rendering
0173
Topotoy Labs @topotoylabs.bsky.social · 30/11/2025
If by "flat" you mean an ellipsoid where the radius along the equator is 6371 km and the radius at the poles is 21 km shorter, then yes. #indiedev #gamedev #computergraphics #procedural #terrain #rendering
1114
Topotoy Labs @topotoylabs.bsky.social · 29/11/2025
Some more progress in my planetary streaming/rendering system. Some technical details below. 👇 #indiedev #gamedev #computergraphics #procedural #terrain #rendering
3184
Topotoy Labs @topotoylabs.bsky.social · 16/11/2025
Some more infrastructure for planetary-level terrain data streaming & rendering I am working on: "Edge-length"-based (raster) quad-tree splitting + frustum/horizon culling. #indiedev #gamedev #computergraphics #procedural #terrain #rendering
36710
Topotoy Labs @topotoylabs.bsky.social · 23/10/2025
If you fly a plane while maintaining a constant compass heading, you'll trace a STRAIGHT line on a Mercator projection map, but your actual trajectory on the planet will SPIRAL into one of the poles. #indiedev #gamedev #computergraphics #computationalgeometry #topology
4377
Topotoy Labs @topotoylabs.bsky.social · 19/10/2025
This is my spherical terrain streaming demo sourced with a large dataset (200MB: about 1px every 2km) diced into 1-file per region with LZ4 compression and a TOC for fast pull-a-tile-by-its-ID. #indiedev #gamedev #computergraphics #computationalgeometry #topology
1263
Topotoy Labs @topotoylabs.bsky.social · 17/10/2025
I've extended my terrain streaming libraries to the sphere using HEALPix partitioning. Hysteresis radii for CPU/GPU load/activate, per-frame command budgets and sphere subdivision are all configurable. #indiedev #gamedev #computergraphics #computationalgeometry #topology
0194