Alternative AA methods and their comparison with traditional MSAA*

...unless you're talking about foliage. Could FXAA be seen as a super cheap replacement to TAA/AAA? Used in combination with some MSAA it should be pretty nice overall.

I actually found alpha to coverage with msaa4x to be pretty good, almost blend-quality. Most of the problems with ATOC come from either bad implementation of the dither pattern, or more commonly, badly constructed mipmaps. ATOCd foliage works best if there's very little "gray" in the alpha channel, and automipmapping will most definitely generate tons of that.

MSAA is still king when it comes to temporal stability. I'm actually experimenting with FXAA as a substitute method when running in stereoscopic 3d. (it's a 60hz shoot'em up, so even those 2ms's could make a difference... but completely removing AA just seems to be wrong :) )
 
Last edited by a moderator:
I found two more FXAA candidates - Deus Ex Invisible War and Thief 3. ;) If you enable Bloom, MSAA and SSAA no longer work. Unfortunately they are using D3D8. I tried the UT2004 D3D9Drv.dll and .int but IW just crashes during startup.

EDIT - Apparently ATI SSAA and MSAA both work with these games. AFAIK, NV cards are out of luck though as I could not get MSAA working with my 8800 awhile back.
 
I'm not sure. I was unable to get MSAA or SGSSAA working on DXIW when bloom was enabled (this was my recent freebie 8800GT). I didn't try the ordered grid SSAA because it is just so unimpressive.

This is all academic now though because I have the 6950 in the desktop PC and a GTX 560 in my TV box. So if one card fails to manage AA with a game, I just switch computers. ;) I didn't know ATI AA worked with these Ion Storm games. Traditionally bloom has broken AA with them.
 
Ok did some testing on 8800GT with DXIW (it's at work :D). All forms of AA work on startup menu with the rotating 3D logo. But during gameplay with bloom enabled, nothing works. No MSAA, OGSSAA or SGSSAA.

BTW, has anyone messed around with tweaking the settings of the FXAA injection? Lots of options in the FXAA fx file.
 
This is continuing from Humus' thread where Andrew Lauritzen stated the .dll mods and CP overrides were evil:

How are these injections or overrides evil? They're useful to a lot of people who want to have some sort of AA in games that don't implement it. I know that devs should be doing this sort of thing themselves but the people who play the games have no control over that. Why all the hate? :smile:

I have to assume that if we didn't have these options, it's not like significantly more devs would start putting their own AA in.
 
Here is The Precursors with FXAA injected:



This game has MSAA support with NVIDIA cards but it doesn't work with AMD and forcing it in CCC causes severe distortion. Just another unfinished aspect to Precursors.
 
How are these injections or overrides evil? They're useful to a lot of people who want to have some sort of AA in games that don't implement it. I know that devs should be doing this sort of thing themselves but the people who play the games have no control over that. Why all the hate? :smile:
They cause *so many problems* to developers. While the hardware vendors have lately been trying harder to not screw up applications (i.e. by disabling all the overrides in DX10 or above - something which many consumers still complain about), they have caused no end of trouble. Fundamentally it's because they are all based on assumptions about how an application renders... if those assumptions are wrong, crappy things happen to varying degrees.

While the post-process AA things are on the more harmless end, you still get stuff like... text and HUD overlays being messed up. On the more harmful end, I remember when one particular IHV was "getting clever" and determining that it should gamma-correct AA samples before doing a resolve, because hey, no one ever uses MSAA for non-color data right? Wrong... of course... caused no end of trouble while developing new shadows algorithms.

If every one of those options was hidden behind a "use this at your own risk, you may screw up everything" click-through or something, that'd be a start. I really get annoyed when users *expect* them to work and blame that game developers when something goes wrong. If you're not one of those people and you're just having fun hacking around with some post-processing stuff, then go wild. Still, for older games I'd really aim higher... MSAA or SSAA really provide strictly superior quality. :)
 
Unfortunately with the advent of deferred shading years ago, MSAA and SSAA have been seriously impacted in usefulness, as you know. If it weren't for ATI and NV hacking game engines, many games wouldn't have any AA. Time has shown that we can't count on many game companies to integrate it into the game itself. There are actually some console games with MSAA that don't have support for it on PC, such as UE3 games.

Sometimes I wonder if some game companies just don't know how to do it so don't bother, like with Oblivion and HDR+AA. You'd think they could have thrown that into one of the patches but it didn't happen.
 
Sure, but that's mostly a bubble, and a temporary one. Honestly the consoles (and somewhat the situation with the DX9->DX10 transition) are to blame on that one since they are simply do not have enough power to handle MSAA properly. Particularly on the 360, EDRAM screws you pretty hard.

That said, there's no reason it won't be supported on future hardware and current high-end PC hardware. Certainly only some game studios do much more than just recompile on PC, but that's just the reality, and the next console generation (if it ever happens) will presumably solve that too.

So yeah, feel free to hack around with post-process AA injection stuff in the mean time. More importantly, however: pressure game developers to support MSAA as a critical feature on the PC. There is literally no excuse not to support it these days, no matter how your renderer works (point them at my presentation and source code if necessary ;)).

With Oblivion though recall that MSAA+fp16 wasn't well-supported by all hardware/APIs at the time. That has changed since then and all of the necessary features are required by DX10.1.

Just whatever you do, don't complain to AMD/NVIDIA about control panel overrides not working in some games or that games break when you mess with certain options. That is what I really have no patience for ;)
 
All we needed though was for Epic to implement proper MSAA in the engine. Then the industry would have been fine. *snicker* becauseeveryoneusesunrealengineandijustmadeafunnyhahahahahahahahahahahahahahahahahahahha.............................................
 
lol. Yeah that was supposed to happen with the DX10 renderer that never materialized. They hinted at that when UT3 was new.
 
Uhh, Gears of War supported MSAA through DX10.

I'm gonna invent a new AA technique that oversamples the depth buffer and uses that to determine coverage. It would be temporally stable and would capture subpixel stuff nicely. You could even modify it to work with transparencies, and on modern hardware it could be combined with deferred rendering. Quality would be way better than a post-process filter.
 
Last edited by a moderator:
Uhh, Gears of War supported MSAA through DX10.

I'm gonna invent a new AA technique that oversamples the depth buffer and uses that to determine coverage. It would be temporally stable and would capture subpixel stuff nicely. You could even modify it to work with transparencies, and on modern hardware it could be combined with deferred rendering. Quality would be way better than a post-process filter.

SRAA says hi.
 
Uhh, Gears of War supported MSAA thru DX10
I never played that on PC, or much on friend's 360 for that matter. What other UE3 games do MSAA? I'm not sure Batman counts due to evil shenanigans. Bioshock has DX10 support but no AA. Most of the licensees just stick to DX9 I think.
 
They cause *so many problems* to developers. While the hardware vendors have lately been trying harder to not screw up applications (i.e. by disabling all the overrides in DX10 or above - something which many consumers still complain about), they have caused no end of trouble. Fundamentally it's because they are all based on assumptions about how an application renders... if those assumptions are wrong, crappy things happen to varying degrees.

Indeed. In theHunter we had a lot of problems with AA overrides. It just didn't work with our rendering style. It had no effect other than substantially reducing performance. We ended up asking both vendors to detect our game and just disable the driver overrides for us. We had our own support for AA, so it doesn't feel fair that we should suffer because other games do not implement AA. I don't remember if there were any problems for JC2, but presumably driver AA still didn't work, so I guess IHVs just disabled it for that too.

The worst part of driver overrides is that users may just go in a toggle a setting in the driver panel and forget about it. Then they install your game and it break. Of course they assume it's your game that's broken. Far from everyone go out on the forums and try to figure out the source of the problem.
 
pressure game developers to support MSAA as a critical feature on the PC. There is literally no excuse not to support it these days, no matter how your renderer works (point them at my presentation and source code if necessary ;)).

Well, there are plenty of reasons to seek alternatives to MSAA, even without going deferred. Just Cause 2 used a forward renderer and MSAA related issues occurred all the time. Sure, they were possible to solve and reduce artifacts and what not, and indeed, with DX10.1 we have all the tools we need to deal with MSAA buffers, but in the end MSAA often just feel like it's standing in the way and making everything complicated. If you're doing anything that reads the depth buffer, even just say soft particles, you can easily get all kinds of artifacts around edges etc.
 
The worst part of driver overrides is that users may just go in a toggle a setting in the driver panel and forget about it. Then they install your game and it break. Of course they assume it's your game that's broken. Far from everyone go out on the forums and try to figure out the source of the problem.
Those global 3D options areas are a problem exactly because of what you describe. I think both vendors should only offer profile-based settings that are linked to a specific exe. I think there should be warnings in there too so people are told that their tweaking can cause problems. This is especially the case today when most games do not work well with forced AA in particular.
 
Back
Top