This week(s) in Mirage #8

It’s been a while! I’ve final­ly fin­ished the new mate­ri­als. The new mate­ri­als now use image tex­tures instead of pro­ce­du­rals. While pro­ce­du­rals have many ben­e­fits, you get more bang for your buck with images. They bring lots of non-dis­­crete details and vari­a­tion, along with bet­ter per­for­mance in exchange for some flex­i­bil­i­ty. This change was pos­si­ble now 

This week(s) in Mirage #7

Welcome to anoth­er pro­duc­tive week for Mirage! This time I focused on fix­ing seam­less ter­rains. Seamless ter­rains have match­ing edges and can be tiled and repeat­ed.  I had this work­ing a while ago at the noise gen­er­a­tion lev­el. The Perlin func­tion I’m using is peri­od­ic, so it’s pos­si­ble to grab coor­di­nates out­side of the ter­rain and interpolate 

This week(s) in Mirage #6

Whoa, how long has it been? Wasn’t I sup­posed 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 man­aged to put some 

This week in Mirage #5

Time for the usu­al week­ly devel­op­ment news. This week I worked some more on the water ero­sion mod­i­fi­er. I start­ed by fix­ing the ran­dom­ness of the rain. Every iter­a­tion 100 drops fall at ran­dom places in the ter­rain. The prob­lem was that I was­n’t keep­ing the seeds for the ran­dom val­ues around so every­time a set­ting changed it 

This week(s) in Mirage #4

These last two weeks have been pret­ty busy, both in work/life and Mirage. On the mirage side, I port­ed the last mod­i­fi­er: flu­vial ero­sion. I spent the first week writ­ing the ini­tial imple­men­ta­tion and this week mak­ing it actu­al­ly work. Many moons ago I wrote a pure Python imple­men­ta­tion of the vir­tu­al pipes hydraulic ero­sion algo­rithm. It was crazy slow. 

This week in Mirage #3

Thermal ero­sion is now ful­ly port­ed! There isn’t a very notice­able dif­fer­ence this time around, I think it looks a bit bet­ter though (but maybe I’m biased!). I also changed the set­ting names to make them eas­i­er to under­stand: Repose Angle is now Threshold Iterations is now Time They are also short­er too, so they work nice­ly in 

This week in Mirage #2

This week went bet­ter than expect­ed in many ways. I end­ed up get­ting the mod­i­fi­er work done fair­ly quick­ly and man­aged to squeeze a small refac­tor, break­ing a ~1300 lines file into 3 files. I still have som­re more refac­tor­ing to do to make things more flex­i­ble. Hopefully I can get to that too in the fol­low­ing weeks.  Porting went smoothly 

This week in mirage

In this series of posts I’m going to talk about the new hot stuff I’m work­ing 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 pro­gram­ming lan­guage focus­ing on safe­ty, per­for­mance and