These last few weeks have been a major push on website improvements, but as that is wrapping up I’ve been able to turn attention to a number of product-related changes.
Meshify Improvements
This is a pretty big one, because a typical output format for VDM terrain is an optimized mesh.
A few things are small tweaks: Remap the quality scale so that the range is more useful, and have the ‘typical’ quality before that was at ~0.9 be at the middle of the scale at 0.5. At high resolutions, the highest quality offered still would often stop short of the triangle detail you wanted — the top of the scale is now an order of magnitude more detail. The vertex normals are also angle-averaged now for higher quality base normal directions.
The big work though was tackling two major issues that the Mesh Optimizer previously had:
Water and Shoreline Quality
Matching the edge of water to the shoreline is a subtle game, and the previous version left something to be desired. The optimizer now can more faithfully map the shoreline:


The first major issue you can see fixed is that the previous masking algorithm somtimes caused a ‘skin’ to form along the edgeline where there should be no triangles. That’s been fixed. The result also has higher triangle quality.
The previous solution to avoiding terrain poke-through in shallow water areas was to mesh the terrain extremely densely there. This has been improved to only add additional vertices as needed, which dramatically lightens the resulting mesh in areas that are shallow water dominated.
Performance
Meshify was rather sluggish before, even when generating a uniform mesh but especially a Delaunay optimed one. That’s been improved. Performance is 4-200x faster than before, depending on your machine, the input resolution and the desired number of triangles. The improvement is a combination of algorithmic changes to improve cache behavior, allow for SIMD and expose parallelism where possible, and a lot of work repeatedly chipping away at the slowest parts of the pipeline; the same kind of work done in Hurricane Ridge for many other parts of WM.
For the meshed water above, the 4066 process took 15.7s to produce its output on my machine at 4k resolution. The 4067 one took 146ms(!). The higher res the source input, the greater the speedup. At 8k, the same output took over 2min to mesh in 4066, and ~600ms in 4067 (200x speedup).
This level of improvement is also really helpful for viewport display of water. At high resolutions running the water mesh through the optimizer is the only way to display 100% faithful waterlines, and now it can be the default path since it doesn’t add appreciable delay, whereas at 8k and above it would cause a massive lag for the water to appear in the viewport.
Timeline
This improvement, along with other improvements and bugfixes that I’ll talk about next time, will be available likely in the next few weeks.
There will be continue to be Dragontail releases through the rest of this year adding targeted improvements such as this and fixing bugs, before the focus turns to the next named development series next year.
Start the discussion at forum.world-machine.com