Continuing work on the 2D soft shape renderer. The plan is to make something akin to mudbun/clayxels, but for 2D.
While the shapes now seem to blend rather smoothly (pun totally intentended), today I worked on getting colors to blend as well.
I spent a lot of time botching it up.
But finally I got something I was happy with. It’s a weighted average color where the weights are the negative distance from the source shape + some offset to the power of 3.19, which is kind of weird. It probably makes sense to make it configurable per shape (right now it’s on the material).
I was also struggling to keep the number of render passes low, because I needed 3 color channels, alpha, distance, and weighted average total. Eventually, I figured out how to properly do multiple render targets in one pass, which means that for the moment I have plenty of room (4 render targets * 4 channels = 16).
In any case, I’m quite optimistic with how it works, and I think I can make something that is both very performant, author-friendly and flexible.
As intended, scaling now produces no artifacts :)