I started playing a game from 1999. It does have an option to disable dithering.
Meanwhile, modern hames offer no such luxury.
I started playing a game from 1999. It does have an option to disable dithering.
Meanwhile, modern hames offer no such luxury.
@LukeAlmighty Real talk, can someone explain to me why the hell did dithering reappear in modern AAA games? We used to have real transparency and fading effects. Why?!
@alyx
I spent hours listening to this guy and other videos on the topic, and I still cannot say I have even surface level of understanding.
https://www.youtube.com/watch?v=KEtb0punTHk
But from what I understand, it's shadows. Old hames used to have a binary and sharp shadow, that was done using a method called shadow projection. This was fast, readable but extremely limited.
Modern games on the other hand try to get shadows as dynamic and varied as possible. And the fastest way to get the overlaping shadows or transparencies is dithering. BUT: The devs don't even see it, since they got used to using several layers of effects, that blur the entire image, making individual pixels insignificant in their opinion. TAA is the most famous of these.
So, yes. We used to have solutions, but the game engines are now developed with the assumption, that the game will be blured afterwards, and watched from 2m away on a 4k tv anyway.
@alyx
So far, this video was the best one on TAA, but as I said already, it is a topic for HOURS of research.
https://www.youtube.com/watch?v=SuXDi-o_aCg
@LukeAlmighty @alyx True transparency, using alpha, is trivial to implement, but for high fidelity games it's a serious issue.
Besides what you already mentioned, transparent objects have to be rendered AFTER everything else has been rendered behind them.
On top of that, to prevent two transparent objects from covering each other, they must be drawn back to front, as opposed to the front rendering most engines use these days.
Front rendering is a powerful optimization that reduces over draw.
Say you drew a thing, and there's something behind it.
GPU doesn't care, it won't bother with an object if it's already being obscured, there's nothing left to draw.
With dithering, none of these issues exist, because it's still a solid object as far as the GPU is concerned.
Attached is correct and incorrect transparency overlapping.
@alyx @coded_artist @LukeAlmighty it's not that it is too hard for the devs, it's that it is too hard for the gpu with the increase in fidelity and post processing. If you go back to the ps4 era games were still implementing full transparency and were having struggles with it.
I don't really care about that though. Dithering looks HORRIBLE and I would rather have the option to turn it off while lowering some other settings. It's actually the primary reason why I never played Bayonetta 3. It looks completely hideous in that game and it is really distracting. It really sucks for taking screenshots too.
@coded_artist @LukeAlmighty
So basically, instead of doing hard coding work to make the engine do things properly, they just take the lazy route. Cause essentially what I'm getting here is that getting things to be transparent correctly, while keeping something like front rendering optimizations, is more complicated to do. So why bother with the hassle, if it can be half-assessed?
Again, what perplexes me is that this can't possibly be some hidden, esoteric knowledge. We had transparent things before. If coding from scratch is too hard, why not just borrow code from older titles or older engines?! Just reuse what you knew how to do from a decade ago.
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.