I'm considering working around this by drawing every sprite twice so I can change their order intermittently and then blend out the old sorting position, but I'm wondering if anyone has any better ideas for how to handle the ordering problem without introducing popping?

I'm keeping this strictly limited to forward rendering without any render targets or other newfangled rendering features so keep that in mind.

Replying to @aeva@mastodon.gamedev.place

okie I like this version a lot more (click the link to see it)

zone.dog/games/firmament7/

this version has the clouds draw twice fading in and out in opposite phases. the clouds that are in the invisible phase are re-sorted, thus the system is able to make gentle intermittent corrections to the draw order without being super obvious. I'm using stochastic transparency to do the blending because it turns out using alpha transparency makes the math much harder to get right.

EDIT: nvidia fixed!

A rendering of a cloudy sky.  I tried to get a screenshot of the fade transition, but it's hard to tell from the thumbnail if I nailed it or not.  If I did what you'd see is two partially overlapping clouds with individual pixels randomly discarded to do a stochastic blend between them.  However, I don't think I caught it in the act, and it's only really obvious when there's a dark patch and a light patch overlapping.
ALT