Topotoy Labs
@topotoylabs.bsky.social
I enjoy pain. That is why I code simulation engines. My blog: http://brashandplucky.com
Prototyping a little idea with my topology/geometry kernel for cutesy island generation.
Slooowly coding my way into a greatly simplified yet mostly operational F-16 into my bespoke terrain engine #indiedev #gamedev #computergraphics #procedural #terrain #rendering
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
Taking a little early morning (clunky) walk #indiedev #gamedev #computergraphics #procedural #terrain #rendering
Taking a little early morning (clunky) walk #indiedev #gamedev #computergraphics #procedural #terrain #rendering
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
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. 😓
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
I've been fleshing out the subsystems for actors, user input, and Jolt physics integration. #indiedev #gamedev #computergraphics #procedural #terrain #rendering
Taking some clunky baby steps: Better actor vs. terrain collision + Mostly fixed cascaded shadowmaps #indiedev #gamedev #solodev #customengine #procedural #terrain
Getting ready to drop some non-procedural geometry in the terrain engine. 💥 #indiedev #gamedev #solodev #customengine #procedural #terrain
Starting to add physics to the terrain! Dropping massive 500m spheres and watching them roll down the mountains 🏀 #indiedev #gamedev #solodev #customengine #procedural #terrain
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
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
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
First integration of the ocean system into the terrain with aerial perspective 🌊 #solodev #indiedev #gamedev #procedural #terrain #rendering
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
Waking up in the Grand Canyon 🌅 Still doing optimizations and clean-ups before going back to ocean rendering. #indiedev #gamedev #computergraphics #procedural #terrain #rendering
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
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
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
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
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
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
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