It’s been a while, hasn’t it? Life has been really, really hectic. But there’s always some time to work on Mirage! This new version comes with a complete revamp of the distribution system, now using Geometry Nodes. Also M1 macs are supported now. The first thing you will notice is that changes are applied inmediately. Vertex groups or
It’s that time of the year again! A new Render+ release is out with some new features, some life quality improvements and a bunch of bug fixes. Verison 2.5 brings multiple custom frames, frame jump control for animations, better tools for troubleshooting, support for Blendfiles compressed with Zstd (Blender 3), and a new option to run a python script (from
Today is release day! Render+ 2.4 is out. Also known as the spit and polish release. The previous refactor in 2.3 unfortunately introduced a number of regressions and other random bugs. There’s also a couple of improvements to make the UI less confusing and some initial work on Blender 3.0. Take a look at the list of fixes
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
Welcome to another productive week for Mirage! This time I focused on fixing seamless terrains. Seamless terrains have matching edges and can be tiled and repeated. I had this working a while ago at the noise generation level. The Perlin function I’m using is periodic, so it’s possible to grab coordinates outside of the terrain and interpolate
Whoa, how long has it been? Wasn’t I supposed to do this every week? These last few weeks have been crazy with work, life, the release of Blender 2.80, Mirage 3.2 and Render+ 2. But that’s all done now. Time to get back on the horse! The good news is that I still managed to put some
Time for the usual weekly development news. This week I worked some more on the water erosion modifier. I started by fixing the randomness of the rain. Every iteration 100 drops fall at random places in the terrain. The problem was that I wasn’t keeping the seeds for the random values around so everytime a setting changed it
These last two weeks have been pretty busy, both in work/life and Mirage. On the mirage side, I ported the last modifier: fluvial erosion. I spent the first week writing the initial implementation and this week making it actually work. Many moons ago I wrote a pure Python implementation of the virtual pipes hydraulic erosion algorithm. It was crazy slow.
Thermal erosion is now fully ported! There isn’t a very noticeable difference this time around, I think it looks a bit better though (but maybe I’m biased!). I also changed the setting names to make them easier to understand: Repose Angle is now Threshold Iterations is now Time They are also shorter too, so they work nicely in
This week went better than expected in many ways. I ended up getting the modifier work done fairly quickly and managed to squeeze a small refactor, breaking a ~1300 lines file into 3 files. I still have somre more refactoring to do to make things more flexible. Hopefully I can get to that too in the following weeks. Porting went smoothly
In this series of posts I’m going to talk about the new hot stuff I’m working on for Mirage. This will be my first time doing a devlog, so bear with me 🙂 Our first stop is what I’ve doing for the past few months: the Rust port. Port to Rust Rust is a programming language focusing on safety, performance and
A few moons ago security researchers at Cisco made waves in the Blender community after disclosing a number of vulnerabilities that could allow an attacker to run arbitrary code. All the of them were fixed by 2.79a but it’s still possible to make Blender run arbitrary code.