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
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