Live data from Hacker News

AAA – Analytical Anti-Aliasing

blog.frost.kiwi

81–90 of 104 posts

Re: AAA – Analytical Anti-Aliasing

#81

Earlier quoted context omitted.

PC games have had Low, Medium, High presets for graphics settings for decades. I don't think reducing that from 3 choices to 2 is going to be a big win for user friendliness. And I certainly think it's user-hostile if it means taking the customization away and only letting users choose between two presets. PlayStation does have shining examples of user-friendly settings UI though, namely in their PC ports. Look at th…

> I don't think reducing that from 3 choices to 2 is going to be a big win for user friendliness It’s nowhere near as simple as 3 settings now there are different antialiasing techniques, path tracing lighting or reflections, upscaling (multiple algorithms) etc. Nothing is all just fully positive and each has tradeoffs

Those are typically incorporated into the presets. I am not just talking about Low, Medium, High for individual settings. There's almost always a preset option that will set all the other settings according to what's deemed appropriate by the developer for the selected quality level.

Re: AAA – Analytical Anti-Aliasing

#82
post #34

Earlier quoted context omitted.

Great write up, excellent explorables. I skimmed some parts so forgive me if this was covered, but I wonder what happens with overlapping shapes in this approach. For example, a white background with a black disc and then a white disc of the exact same size and position would probably leave a fuzzy gray hairline circle? With regular antialiasing it should be all white.

What happens during overlap, is something you control fully, at every step. (Except when using this with MSAA, as that is implementation defined) How intersections happen when blending shapes of multiple draw calls or multiple quads is defined by the blending function you set before issuing the draw call. In WebGL the call is blendFunc() [1] and there are a bunch of options. How to blend multiple shapes on the same q…

I think the point is that a correct analytical result needs to be computed for all shapes at once. You can't composite overlapping shapes individually, since the alpha value (subpixel coverage), even if analytically correct, is lossy; you lose the information about the exact subpixel geometry, which is needed to do correct compositing (eg. does this shape completely occlude this other one within this pixel?). The standard Porter-Duff blend function assumes the subpixel geometry is a uniform random mist, which is not necessarily a great assumption for AA.

Re: AAA – Analytical Anti-Aliasing

#83
It is well presented, but I think the part attacking TAA will lead to confusion, as SDF AA is in no way an alternative to TAA.

TAA covers all types of aliasing, while this only covers edge aliasing.

Many modern games use monte carlo based approaches for indirect lighting and other effects, which basically requires TAA.

Re: AAA – Analytical Anti-Aliasing

#84

Thanks for sharing! Author here, happy to answer any questions.

Thank you for the excellent writeup, terrific work!

> Whole communities rally around fixing this, like the reddit communities “r/MotionClarity” or the lovingly titled “r/FuckTAA”, all with the understanding, that Anti-Aliasing should not come at the cost of clarity. FXAA creator Timothy Lottes mentioned, that this is solvable to some degree with adjustments to filtering, though even the most modern titles suffer from this.

I certainly agree that the current trend of relying on upscalers has gone too far and results in blurry and artifact riddled AAA game experiences for many. But after seeing this [1] deep dive by Digital foundry I find the arguments he makes quite compelling. There is a level of motion stability and clarity only tech like DLSS can achieve, even outperforming SSAA. So I've shifted my stance from TAA == blurry, TAA + ML when used right == best AA possible currently for 3D games.

Thoughts?

[1] https://youtu.be/WG8w9Yg5B3g

Re: AAA – Analytical Anti-Aliasing

#85

Now I'm very curious about analytical AO and shadows as you mentioned Last Of Us uses. I'd heard about the spheres but never seen an explanation of how they get turned into shadows

The relevant talk is "Lighting Technology of The Last Of Us" by Michał Iwanicki: http://miciwan.com/SIGGRAPH2013/Lighting%20Technology%20of%2...

Re: AAA – Analytical Anti-Aliasing

#86

Thanks for sharing! Author here, happy to answer any questions.

Thank you for the excellent writeup, terrific work! > Whole communities rally around fixing this, like the reddit communities “r/MotionClarity” or the lovingly titled “r/FuckTAA”, all with the understanding, that Anti-Aliasing should not come at the cost of clarity. FXAA creator Timothy Lottes mentioned, that this is solvable to some degree with adjustments to filtering, though even the most modern titles suffer from…

Disclaimer: I haven't really played games with high-end graphics on a high-end system in over a decade, and have always had more of a soft spot for games that use beautiful art design to work around the limitations of "underpowered" systems (IMO the graphics in those games hold up much better throughout the decades anyway). And as I mentioned elsewhere I'm generally quite lost when it comes to AA names and abbreviations. It would be disingenuous of me to tell a community I'm not part of what the best solution is for them.

However, on a meta-level I find something like “r/FuckTAA” fundamentally entitled and ungrateful to the people who put years of their lives into making these games. Of course the loudest gamers tend to be smaller subgroup of the entitled toxic ones, so perception is distorted anyway. Plus, I do get it to some degree: if you invest a lot of money and time into powerful hardware to get beautiful graphics, you'd like to actually get beautiful graphics out of it.

Still, every time I read any article on the technical workings of modern graphics, it strikes me as a community full of extremely passionate people who care about squeezing beautiful graphics out of the available hardware. There are nicer ways to say "sorry but this particular technical solution/aesthetic trend doesn't vibe with me".

(Obviously this is not aimed at your nuanced take with a sincere question for discussion. And thank you for the link, will watch, because the tech still is an interesting topic to me even if I don't play these types of games)

Re: AAA – Analytical Anti-Aliasing

#87

Earlier quoted context omitted.

One small bit of tecnical feedback for the website itself: it would be nice if the links in the article open in a new tab by default, because reloading the webpage via the back button is a little broken on my mobile browsers. I suspect it has something to do with trying to restore the state of the page while also having WebGL contexts.

Ohh right! I'm sure the must be an Eleventy setting for that...

Hope it's not too much of a hassle.

Also, forgot to mention that I really enjoyed the article, and I'm not even a gamer! You're totally right in that the graphics community is a lovely one to follow on a technical level, even if you don't play games. Articles like yours are part of the reason for that

Re: AAA – Analytical Anti-Aliasing

#88
post #29

Tangent: my biggest problem with AA is something adjacent to it, which is that almost none of my games bother explain what the differences are between the different abbreviations available in the settings, half of which are completely unknown to me. Like, sure, I can look them up but a little bit of user-friendliness would be appreciated. This article will probably help for future reference though!

Games/graphics are one of those domains with a lot of jargon for sure. If you don't want to be a wizard you can just mess with it and see what happens. I like how dolphin approaches this with extensive tooltips in the settings, but there's always going to be some implicit knowledge. On a meta level - I feel like I've seen anti-acronym sentiment a lot recently. I feel like it's never been easier to look these things u…

Well, I suppose I'm not the assumed target audience. Back when I was younger I had the time to tweak everything on my computer: my Linux distro, my games (dualbooting windows just for that), and looking things up for that reason. I also could play long gaming sessions.

Nowadays I'm a dad with practically no spare time between raising a toddler and work. Suddenly the question of "does the game overstay its welcome?" has become a thing; I almost exclusively play games that can be played in short bursts of time, and that deliver a great experience as a whole that can be completed in a relatively short playtime. I got a Steam Deck a few years ago for the specific purpose of separating my work computer from my gaming platform, and being able to pick up and play a game and pausing it without problems.

Even with the built-in performance overlay of the Steam Deck (which is very nice) it takes time to assess the quality-vs-performance results of every possible combination of settings. Often more than I would spend on playing a game.

I suspect that people like me either already are or soon will be the bigger segment of the (paying) customers though, so that is something to consider for developers.

And some games do give short explanations of what each type of technique does and how they compare, along with statements like "this usually has a small impact on performance" or "this has a large impact on performance" to guide me, which is already a great help.

Re: AAA – Analytical Anti-Aliasing

#89
post #48

I really miss MSAA. I still dislike DLSS personally. I realize many people seem to like it, but it just does not look that good to me. Or as good as things used to look or I believe could look. Sure it's better than TAA, but come on, this can't be the ultimate end for gaming graphics... At least I hope it isn't.

The problem with MSAA is that it only handles aliasing from geometry edges. It's pretty much useless against shader aliasing, which became a massive problem after normal mapping and HDR lighting became standard in the PS3 era.

This is only a problem if you naively undersample the normal maps in your fragment shader. No AA algorithm can can generate a high quality result from undersampled lighting calculations.

For normal maps specifically, you can preserve lost information from downsampled normal maps as roughness: https://media.steampowered.com/apps/valve/2015/Alex_Vlachos_...

MSAA also doesn't require you to have only one color sample for each pixel but this can be varied per draw call (at least for desktop GPUs) - effectively allowing you to supersample some objects when needed.

Re: AAA – Analytical Anti-Aliasing

#90
post #73

Earlier quoted context omitted.

The catch is the alpha-blending, which is something modern games avoid doing as much as possible which is why so many games use that dither-pattern transparency you may have seen before. To do alpha blending correctly you need to blend with what's behind the object. But what if you haven't rendered what's behind the object? You won't have anything to blend with! This means you first have to sort all the objects you'r…

Now that I am delving into the retro-gaming world, I find it funny that 30 years ago gamers lambasted the Sega Saturn for using dithering patterns instead of proper transparencies, only for the same technique to come back decades later.

The difference is higher pixel densities and being able to have subpixel dithering with msaa buffers.
Post reply on HN