Mirage 3.6 is out

No video this time, because a lot of the improve­ments are basi­cal­ly iter­a­tive or under the hood (also had no time to make a full video TBH).

This release comes with much need­ed per­for­mance work, bet­ter mate­ri­als a new mod­i­fi­er. I also did some jan­i­tor work remov­ing dead code and improv­ing sev­er­al parts of the ter­rain mod­ule with the recent improve­ments in Python. Likewise, Pangu’s (the ter­rain engine) depen­den­cies and Rust ver­sion were updat­ed too.

Gotta go fast

Terrain gen­er­a­tion now delays UV unwrap­ping until the last minute to avoid slow­downs while chang­ing vari­ables. Also ter­rain gen­er­a­tion is now mul­ti thread­ed. Mirage will auto­mat­i­cal­ly use all avail­able cores and work in parallel.

The per­for­mance dif­fer­ence is absolute­ly bru­tal. Here are the num­bers using the default ter­rain (128×128), mea­sured with my Intel i5-3470 CPU.

ActionOld (3.5)New (3.6)Difference
Creating Terrain4.502 sec­onds0.027 sec­onds166 times faster
Updating Terrain5.108 sec­onds0.006 sec­onds851 times faster

It’s amaz­ing how easy Rust+Rayon have made this. I had to rethink sev­er­al loops but it all took a few days at most and was quite easy. Thanks to Rust’s “semi-man­u­al” mem­o­ry man­age­ment we won’t have to wor­ry about dead­locks, race con­di­tions or any of the oth­er fun thread­ing hijinks.

This opens up pos­si­bil­i­ties to gen­er­ate high­er res dis­place­ment maps for ter­rains, and inter­ac­tive tools can final­ly feel inter­ac­tive. There’s still some more ways to improve per­for­mance, with more aggres­sive caching, though at the cost of high­er RAM usage.

New curve modifier

The new curve mod­i­fi­er remaps the ter­rain’s heights to a curve. This works the same way an RGB Curve node remaps the val­ues of the RGB chan­nels. This node can cre­ate plains, var­ied ter­races, ran­dom craters and many oth­er cool effects.

Better Materials

The mate­ri­als sys­tem got a few improve­ments. Water lay­ers now look bet­ter and have many new options. As usu­al, they look best with Cycles and microp­oly displacement.

The col­or type now has a sub­tle gra­di­ent, mak­ing it a bit more use­ful. The default col­or also makes more sense now.


If you have already bought Mirage, con­grats! You can down­load the update for free. If you want to buy Mirage you can find it over at Gumroad or the Blendermarket.

To down­load from the Blender Market log in, then click on your user­name 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 sta­ble and beta there.

All the posts you can read
VariousAddon, Blender, Mirage, Python06.08.2021