No video this time, because a lot of the improvements are basically iterative or under the hood (also had no time to make a full video TBH).
This release comes with much needed performance work, better materials a new modifier. I also did some janitor work removing dead code and improving several parts of the terrain module with the recent improvements in Python. Likewise, Pangu’s (the terrain engine) dependencies and Rust version were updated too.
Gotta go fast
Terrain generation now delays UV unwrapping until the last minute to avoid slowdowns while changing variables. Also terrain generation is now multi threaded. Mirage will automatically use all available cores and work in parallel.
The performance difference is absolutely brutal. Here are the numbers using the default terrain (128×128), measured with my Intel i5-3470 CPU.
|Action||Old (3.5)||New (3.6)||Difference|
|Creating Terrain||4.502 seconds||0.027 seconds||166 times faster|
|Updating Terrain||5.108 seconds||0.006 seconds||851 times faster|
It’s amazing how easy Rust+Rayon have made this. I had to rethink several loops but it all took a few days at most and was quite easy. Thanks to Rust’s “semi-manual” memory management we won’t have to worry about deadlocks, race conditions or any of the other fun threading hijinks.
This opens up possibilities to generate higher res displacement maps for terrains, and interactive tools can finally feel interactive. There’s still some more ways to improve performance, with more aggressive caching, though at the cost of higher RAM usage.
New curve modifier
The new curve modifier remaps the terrain’s heights to a curve. This works the same way an RGB Curve node remaps the values of the RGB channels. This node can create plains, varied terraces, random craters and many other cool effects.
The materials system got a few improvements. Water layers now look better and have many new options. As usual, they look best with Cycles and micropoly displacement.
The color type now has a subtle gradient, making it a bit more useful. The default color also makes more sense now.
To download from the Blender Market log in, then click on your username at the top. Select “Orders”, then look for Mirage and click “Downloads”. For Gumroad just login, go to your library and find Mirage. You can also find both the stable and beta there.