Live data from Hacker News

AAA – Analytical Anti-Aliasing

blog.frost.kiwi

41–50 of 104 posts

Re: AAA – Analytical Anti-Aliasing

#41

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

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.

Re: AAA – Analytical Anti-Aliasing

#42
post #29

Earlier quoted context omitted.

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…

The PS4 Pro introduced the gaming world to the simplification of settings from dozens of acronyms that were common to PC Gamers, down to “Performance” and “Quality”. I wouldn’t be surprised if there’s now a market demand for that to spread back to PC land.

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 this UI in Ratchet and Clank:

https://x.com/digitalfoundry/status/1684221473819447298

Extensive tooltips for each option and any time you change a setting it is applied immediately to the paused game while you're still in the settings menu allowing you to immediately compare the effects.

Re: AAA – Analytical Anti-Aliasing

#43

Earlier quoted context omitted.

The PS4 Pro introduced the gaming world to the simplification of settings from dozens of acronyms that were common to PC Gamers, down to “Performance” and “Quality”. I wouldn’t be surprised if there’s now a market demand for that to spread back to PC land.

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

Re: AAA – Analytical Anti-Aliasing

#44

Earlier quoted context omitted.

The PS4 Pro introduced the gaming world to the simplification of settings from dozens of acronyms that were common to PC Gamers, down to “Performance” and “Quality”. I wouldn’t be surprised if there’s now a market demand for that to spread back to PC land.

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…

Nixxes are very enthusiastic about every PC port having proper settings and exclusive options. I hope the C-levels at Sony continue to not notice.

Re: AAA – Analytical Anti-Aliasing

#45
post #7

What's the catch?

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're rendering and render them in-order. It also means you can't use a depth pre-pass because you need to draw what's behind the object even for the parts you already know will be covered by the object in front of it. There's a bunch of more reasons to avoid it, but those are some of the basic ones.

An alternative is to draw only a few pixels of what's behind the object you're rendering at the edges of the object that's in front and then alpha blend those extra samples together, which seems to be the solution proposed in the article for actual 3D games. So then the catch is that you're doing MSAA, just with high-quality blending rather than the standard averaging of the samples.

Re: AAA – Analytical Anti-Aliasing

#46

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

Can you elaborate a bit on the tech-stack used for this blog? I didn't find any hints in the source (but I'm not an expert). Is it some known framework? What does the input look like (Markdown etc).?

Re: AAA – Analytical Anti-Aliasing

#47
post #22

Earlier quoted context omitted.

Hey, i'm brainstorming for a 3d vector renderer in WebGPU on JS/TS and stumbled on your project [0] yesterday. (Thick) line drawing is especially interesting to me, since it's hard [1]. I also stumbled upon this [2] recently and then wondered if i could use that technique for every shape, by converting it to quadratic bezier curve segments. Do you think that's a path to follow? [0] https://github.com/Lichtso/contrast…

My implementation does: - Implicit Curve Rendering (Loop-Blinn) and stencil geometry (tessellation-less) for filling - Polygonization (with tangent space parameter distribution) of offset curves for stroking > by converting it to quadratic bezier curve segments Mathematically, the offset curve of a bezier curve is not a bezier curve of the same degree in the general case (exceptions are trivial cases like straight li…

> About subpixel AA: Don't bother, LCDs are on the down trend.

OLEDs have subpixels, too. The real problem is the growing diversity in subpixel arrangements, making it impractical to have a good subpixel AA method for every display type on the market. And mobile platforms have it worse, because screen rotation means you need to be able to change AA methods on the fly.

Re: AAA – Analytical Anti-Aliasing

#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.

Re: AAA – Analytical Anti-Aliasing

#49
post #8

Great write-up! Though a little caveat from my side, as I have written both 2D and 3D rendering engines. Let me tell you, they could not be more different. It is not just another dimension but completely different goals, use-cases and expectations. So instead of: > Everything we talked about extends to the 3D case as well. I would say the entire post is mostly about 3D, not 2D rendering. If you are curious about this…

I don't think the article generalizes trivially to 3D, though.

The solution presented relies on signed distance fields, yet skims over the important part - a distance to what? In 2D it is obvious, we are measuring distance to an edge between the object and its background, to a silhouette.

In 3D, when objects may rotate producing self-occlusions, things get more complicated - what are we measuring the SDF against? The silhouette of a 3D object's 2D projection is ever-changing and cannot be trivially precomputed.

Post reply on HN