Oh hey, it’s been a while! As you might guess what was to be a short, self-contained, reasonable release turned into a chaotic avalanche of features. Typical. You fix one thing and then you get an idea to make something better. You get on it since it’s a small change, and when you snap out of it weeks have
I’ve been working on Mirage 3.5 for a while now and have some neat new features to show; including a new move/rotation tool, new terrain type, new modifiers system, new settings for modifiers, rewritten modifiers, distribution system maps and more. This is still heavy work in progress so many things can still change.
The time has finally come. Mirage 3.4 is out today! The highlight of this release is the new terrain engine. It’s been a while, hasn’t it? This has probably been the longest time between releases, but there’s a good reason for the delay! Mirage 3.4 comes with a new terrain engine completely rewritten in Rust for top-performance. I’ve codenamed
It’s been a while! I’ve finally finished the new materials. The new materials now use image textures instead of procedurals. While procedurals have many benefits, you get more bang for your buck with images. They bring lots of non-discrete details and variation, along with better performance in exchange for some flexibility. This change was possible now
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
New Blender, new Mirage. Or so I’d like to say. This is boring release actually. The only news is compatibility with Blender 2.80. Note that from this point onward, Mirage will require at least Blender 2.80. All the new features I’ve been blogging about will come in the next version: 3.4. Join the mailing list
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