←back to thread

602 points todsacerdoti | 3 comments | | HN request time: 0.696s | source
Show context
FrostKiwi ◴[] No.42192825[source]
Thanks for sharing! Author here, happy to answer any questions.
replies(16): >>42193691 #>>42193836 #>>42193884 #>>42194114 #>>42195074 #>>42195398 #>>42196248 #>>42196427 #>>42196783 #>>42197142 #>>42197506 #>>42198224 #>>42198810 #>>42202062 #>>42207422 #>>42212873 #
enbugger ◴[] No.42195398[source]
As a non-gamedev person but just gamer, I should expect that this will replace TAA anytime soon? Should it replace TAA?
replies(2): >>42200211 #>>42203826 #
1. Arelius ◴[] No.42200211[source]
Basically no... Analytic AA is a really hard problem for video games, and I know of no general purpose solutions.

For font and 2D vector rendering it's likely, in fact afaik, some solutions, such as Slug already do.

But for 3d rendering I don't know of any solutions.

For an intuition, consider two triangles that intersect the same pixel.

Consider if say one has 20% coverage and the other 30%, does that pixel have 50% coverage, 30% by one, 20% by one and 10% by another, or any other conceivable mix? It's very difficult to say without selecting specific points and sampling directly.

replies(1): >>42202876 #
2. woctordho ◴[] No.42202876[source]
There're already games fully using SDF rendering, such as Dreams [0]. It even made a SIGGRAPH talk [1].

[0] https://en.wikipedia.org/wiki/Dreams_(video_game)

[1] https://www.youtube.com/watch?v=u9KNtnCZDMI

replies(1): >>42214431 #
3. Arelius ◴[] No.42214431[source]
Whe SDFs are being used in games, SDFs don't really change the Analytical AA story much. SDFs are generally evaluated with ray marching, which is a form of discret sampling that has the same issue regarding coverage.

I think dreams might be using splats? It's possible that something like splats combined with a form of OIT along with an art style that is tolerant to certain types of artifacts could use Analytical AA. I don't know the specifics on Dreams, but i'd be surprised if even they would be using AAA.