Btw here's a cool trick I figured out today:
Say you have a bunch of mesh patches that overlap but the vertices don't line up, and you wanna force them to anyway.
Use the "Distribute Points on Faces" node with the "Poisson Disc" mode and a minimum distance equal to the longest edge in your triangle soup.
Then in the triangle soup, snap each vertex to the closest point in the poisson disc point cloud, merge by distance, and bam! you got something that is very almost a delaunay triangulation :3
This is probably as far as I get tonight, unless I get an inexplicable second wind.
So far I think this technique is agreeable for me. I've been able to pick at it a bit on and off despite being sick and tired. This technique is a more fiddly than I want it to be, but that might in part be because I'm trying to make the model accurate to my references.
Unsurprisingly I have some ideas for how to improve this technique further.
As for what my game is to render exactly, I'm leaning towards representing stuff authored in Blender as cropped surfel clouds that can then be raytraced to produce more different surfels. Cropped surfels would be a set of pseudo discs that occasionally also have a cropping shape associated.
In that end, anything with a mesh representation can be efficiently prepared for my game via the distribute points of faces node.
I don't like how Blender does unit conversion.
If you set a unit system, and choose a non-meter base unit for distance, it converts everything to meters under the hood, with the unit scale being a scale factor on the conversion to meters.
Since the units presented in the UI are superficial, if you need to change the scale or the base unit everything in your scene changes along with it ;_;
I picked a mile diameter for the map cell arbitrarily, but this precision problem in Blender got me thinking about this more and...
huh, I guess the view distance to the horizon is about 3 miles if you're 6 feet tall, and is a few hundred meters less if you're 5 feet tall.
I got a bit carried away reading about classical units and what ancient people found to be useful units of measurement, and anyways it turns out the distance you can walk in an hour is in the same ball park as the distance you can see up to the horizon (for some excessively uniform and able bodied definition of "you")
What an interesting coincidence that these just happen to work out to be relatively whole numbers in both time and space.
Anyways here's a mile diameter of terrain in Blender :P
Pretend this is a 2 lane rural highway that suspiciously lacks its shoulders, clear zones, and normal markings in an improbably arid mountainous region of Wisconsin and not a narrow path through cookies and cream land.
I figure the exporter may as well build the acceleration structure for non-implicit models like landscape tiles for my game, so I'm experimenting with data structures for that now.
Here's a visualization of a hierarchical surfel graph for that landscape I posted a picture of the other day.
The visualizations are cool but this graph construction technique leaves something to be desired unfortunately.
My thinking was to poisson disc sample the terrain mesh at several intervals with the disc size decreasing each time. Each point becomes a surfel, and the nearest point in the previous generation is its parent.
The central light green patch shows that this technique can cause the coverage to meander quite a bit, and it gets worse the larger the root surfels are :(
If you've been feeling down because you want to MAKE TERRAIN OUT OF SPLINES but you're not sure how and you really want to read a nice beginner friendly BLOG POST that walks through how to do that in #blender #geometrynodes with 23.4 MiB of FULL COLOR PICTURES and EXAMPLE SOURCE FILES well I have GREAT NEWS for you because I wrote one of those over the last three days and I'm really excited to share it!
Check it out: https://zone.dog/braindump/spline_fields/

@aeva I've tried implementing it in blender, and it's not great.... Additionally it's a global solution, so build times used to get slow to rebuild the whole thing. I think in a lot of ways what you've built is maybe more practical. I'd like to extend it beyond splines a bit maybe.
The true win for both of these is being able to move things around without resampling problems though!
@ScatteredRay Something I've found that worked really in my later experiments is identify edges on the mesh where the vertices belong to different control points, and then place new control points on the center of the edge by separating the faces belonging to these edges and doing a distribute points on faces pass.
After a few iterations of deforming and adding more control points in the liminal areas, you get these really nice gradual transitions between the original control primitives.
Attached: 1 image I had an idea for an interpolation strategy that doubles up as a noise function, and, well, here it is. I'm much happier with this version :3
@aeva exactly. Yeah, real interesting, and surprisingly usable just like that.
Want to play with some interpolation if I can figure that out in geom nodes.