Alternative AA methods and their comparison with traditional MSAA*

Discussion in 'Rendering Technology and APIs' started by mitran, Nov 15, 2009.

  1. homerdog

    homerdog donator of the year
    Legend Subscriber

    Joined:
    Jul 25, 2008
    Messages:
    6,294
    Likes Received:
    1,075
    Location:
    still camping with a mauler
    Thanks. Well at least two of those games support MSAA, so we know it ain't impossible.
     
  2. Andrew Lauritzen

    Andrew Lauritzen Moderator
    Moderator Veteran

    Joined:
    May 21, 2004
    Messages:
    2,629
    Likes Received:
    1,227
    Location:
    British Columbia, Canada
    It's obviously not impossible ;), but it's tougher than just flipping a switch (i.e. forward rendering), and at least pre-DX11 it's more expensive than MSAA w/ forward rendering performance-wise.
     
    #782 Andrew Lauritzen, Nov 1, 2010
    Last edited by a moderator: Nov 1, 2010
  3. homerdog

    homerdog donator of the year
    Legend Subscriber

    Joined:
    Jul 25, 2008
    Messages:
    6,294
    Likes Received:
    1,075
    Location:
    still camping with a mauler
    Understood. Although in the deferred games I can think of that don't natively support MSAA, performance is hardly an issue.
     
  4. Billy Idol

    Legend

    Joined:
    Mar 17, 2009
    Messages:
    6,067
    Likes Received:
    907
    Location:
    Europe
    Question about MLAA:

    would it make sense to relax MLAA a little bit?

    say you have the image with no AA
    now you produce the image with MLAA

    instead of using pure MLAA image, you could use a linear combination of
    image(no AA) and image(MLAA), say

    x*imaga(no AA) + (1-x)*imaga(MLAA)

    if you use x=0, you get the standard MLAA image.

    but if you choose x for instance to 0.5, you get a mixture. this composed image has:
    -less AA
    +less texture blur
    +(?) more temporal stability

    do you guys think that with such a relaxation method you could reduce the MLAA artefacts (with the expense of some AA).

    of course, the ideal thing would be to adaptively determine x on a per pixel basis, and thus the part from the clear no AA image and the part from the postprocessed MLAA image. Ideally, x should be 0 in the vincinity of edges and 1 in the vincinity of detailed textures. probably you could use the depth buffer for this?!

    maybe this could also be used to get rid of the HUD blurring in a pure GPU postprocessing MLAA implementation: just define a mask with 0 and 1 and use the 1 for the hud part pixels...
     
    #784 Billy Idol, Nov 7, 2010
    Last edited by a moderator: Nov 7, 2010
  5. MJP

    MJP
    Regular

    Joined:
    Feb 21, 2007
    Messages:
    566
    Likes Received:
    187
    Location:
    Irvine, CA
    You could certainly lerp between the image with MLAA and the image without it based on an edge detection filter run on the depth and the normals, if you really wanted to avoid touching triangle interiors. However that may be undesirable, for instance if you wanted MLAA applied to alpha-tested geometry. I suppose if the game itself were implementing MLAA then it could just manually mask those pixels, but it wouldn't work if done in the driver. Plus the driver wouldn't have access to the normals unless the game renders them, and the driver recognizes the game.

    As for temporal stability, it wouldn't fix anything. The temporal issues with MLAA are caused by the fact that geometry "snaps" from one pixel to another (since the coverage test is only performed once per pixel) as the edge moves relative to the screen. MSAA helps by having multiple sample positions per pixel, allowing edges to have sub-pixel movements. So naturally an image without any AA has these problems too.
     
  6. no-X

    Veteran

    Joined:
    May 28, 2005
    Messages:
    2,451
    Likes Received:
    471
    I think it would't help. Human eye is sensitive to imperfections (aliasing), so you'll see aliasing artifacts + MLAA artifacts in this case.

    It's similar to AA 2x - it never become much popular, because it leaves aliasing on angles corresponding to sample orientation. Eyes are always attracted by the aliasing artifacts (which will be the same as with AA switched off), so there's no subjective improvement.
     
  7. Billy Idol

    Legend

    Joined:
    Mar 17, 2009
    Messages:
    6,067
    Likes Received:
    907
    Location:
    Europe
    so, temporal stability of AA can only be achieved via subpixel information?
     
  8. Shifty Geezer

    Shifty Geezer uber-Troll!
    Moderator Legend

    Joined:
    Dec 7, 2004
    Messages:
    44,104
    Likes Received:
    16,896
    Location:
    Under my bridge
    I guess in theory you could use some motion vector to get an approximation, but basically, yes. You need to be able to measure what fraction of a screen pixel an object has moved, or the MLAA method will feature pixel-level motion/temporal aliasing.
     
  9. 2real4tv

    Veteran

    Joined:
    Jun 15, 2007
    Messages:
    1,167
    Likes Received:
    0
    Location:
    Upstate NY
  10. Billy Idol

    Legend

    Joined:
    Mar 17, 2009
    Messages:
    6,067
    Likes Received:
    907
    Location:
    Europe
    and what about this framerate enhancing interpolation stuff, presented in the Force Unleashed 2 tec demo.

    does such a temporal interpolation stabilizes AA?

    Could you, in combination with MLAA, use this temporal frame interpolation to "guess" subpixel movement?

    I mean, you are interpolating frames anyway...this should give you the oportunity to reconstruct subpixel info, right?
     
    #790 Billy Idol, Nov 8, 2010
    Last edited by a moderator: Nov 8, 2010
  11. sebbbi

    Veteran

    Joined:
    Nov 14, 2007
    Messages:
    2,924
    Likes Received:
    5,296
    Location:
    Helsinki, Finland
    I don't know the exact detail about their technique, but our experimental frame rate interpolator didn't like AA at all...

    ...Little Big Planet, Killzone 2, Resistance 2, Infamous, Uncharted, Crysis 2 (and all other Cryengine 3 games), etc are all also fully deferred (*). Deferred rendering means that the engine stores the surface normal and depth (position) for each visible pixel in a texture, and does all lighting in image space. This way the lighting complexity is not dependent on the scene complexity.

    (*) I also count light prepass as "fully deferred", because it's mostly just a way to save some texture bandwidth when doing deferred rendering (multipassing lights). Light prepass renderer saves normal, depth and specular exponent to the g-buffers, just like all other deferred renderers (but doesn't read/write material color during lighting. Multiplying with material color is done after lighting).
     
  12. Billy Idol

    Legend

    Joined:
    Mar 17, 2009
    Messages:
    6,067
    Likes Received:
    907
    Location:
    Europe
    ok, thanks for the info!

    one question: in your implementation...did you first de-aliase and then interpolate the frames? or did you interpolate the frames, and then use AA at the end?

    I have the feeling that you have to be carefully what you use for your frame interpolation? I could imagen that it is difficult, if you use AA'd frames and actual frames without AA to interpolate, or something like this...

    can you give us a little bit more details about your test in this regard?
     
  13. Andrew Lauritzen

    Andrew Lauritzen Moderator
    Moderator Veteran

    Joined:
    May 21, 2004
    Messages:
    2,629
    Likes Received:
    1,227
    Location:
    British Columbia, Canada
    Yep for sure - man you can list those off pretty quickly :)

    Agreed. As per my SIGGRAPH presentation I consider it a "variant" at best suitable for some hardware, with tiled being obviously superior in the long run.

    And as someone mentioned above, you really do need sub-pixel information to avoid sparklies with any post-process blurring like MLAA. You simply don't have enough information to reconstruct the signal acceptably.
     
    #793 Andrew Lauritzen, Nov 11, 2010
    Last edited by a moderator: Nov 11, 2010
  14. user542745831

    Veteran

    Joined:
    Jul 11, 2008
    Messages:
    1,156
    Likes Received:
    19
  15. assen

    Veteran

    Joined:
    May 21, 2003
    Messages:
    1,377
    Likes Received:
    19
    Location:
    Skirts of Vitosha
    #795 assen, Jan 27, 2011
    Last edited by a moderator: Jan 27, 2011
  16. caveman-jim

    Regular

    Joined:
    Sep 19, 2005
    Messages:
    305
    Likes Received:
    0
    Location:
    Austin, TX
  17. Andrew Lauritzen

    Andrew Lauritzen Moderator
    Moderator Veteran

    Joined:
    May 21, 2004
    Messages:
    2,629
    Likes Received:
    1,227
    Location:
    British Columbia, Canada
    Yeah! Looks interesting. There has been some work in this area with the "interleaved shading" style works that do the equivalent thing by just shading sparsely over a high-resolution depth buffer, but if this takes advantage of the jittered sampling positions of MSAA, that's so much the better. I'll be at I3D this year so I'm looking forward to seeing it!
     
  18. Ruskie

    Veteran

    Joined:
    Mar 7, 2010
    Messages:
    1,291
    Likes Received:
    1
  19. Laa-Yosh

    Laa-Yosh I can has custom title?
    Legend Subscriber

    Joined:
    Feb 12, 2002
    Messages:
    9,568
    Likes Received:
    1,455
    Location:
    Budapest, Hungary
    Interesting is an understatement. Very good insight to the entire process, really clever approach and some pretty good results - it's actually a bit sad that it was introduced with a game that was otherwise not too remarkable (9 month development time WTF??). But I hope the game dev community is paying attention, that they're going to pick up on DLAA and we're going to see it in many new games.
     
  20. Ruskie

    Veteran

    Joined:
    Mar 7, 2010
    Messages:
    1,291
    Likes Received:
    1
    Indeed,results are really good and stability is quite impressive in comparison with MLAA.Just wondering...Can other developers copy what LA already done or what?I mean,code is not for everyone,right?
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...