This is a post I wrote a little while ago internally for the team I was on all about reverse z (it took me longer than I'd like to admit to wrap my head around it πŸ˜…πŸ™ˆ). Hopefully, someone finds it helpful! https://tomhultonharrop.com/mathematics/graphics/2023/08/06/reverse-z.html

Heavily inspired by the work of @reedbeta and @benjamin

Reverse Z (and why it’s so awesome)

Topic

Tom Hulton-Harrop
@tom_h_h @reedbeta @benjamin nice article! My only question is why hasn’t it always been reverse Z?
@jaysteen @reedbeta @benjamin Thanks! And in answer to your question I'm honestly not sure! πŸ˜… I think it is likely down to it being a little less intuitive but yeah it feels like it definitely should be the default 😝
@tom_h_h @jaysteen @benjamin Floating point depth buffers are a relatively recent development; before that it was all integer depth buffers and there was no strong reason to use reverse Z with those, so people probably found it more intuitive to have a Z buffer that increased with distance. And then when floating-point depth buffers came along we all just kept doing it the way we already knew. That's my guess anyway!
@reedbeta @tom_h_h @benjamin ahh yeah that makes sense. Presumably this is most useful for increased shadow resolution - is that going to be superseded by ray traced lighting soon? Asking as an audio person who is GPU curious πŸ˜