Game Development Community

Full Screen Anti-Aliasing (FSAA)

by Thomas Phillips · in Torque Game Engine Advanced · 09/02/2006 (11:18 am) · 7 replies

TGE doesn't seem to support FSAA for Windows and I haven't been able to find any TSE documentation regarding FSAA. Does anyone know if/when FSAA will be supported by TSE, and whether that support will be for both ATI and non-ATI video cards?

Most importantly, I need to know whether our team should scope the level of effort for implementing FSAA now.

Tom

#1
09/02/2006 (11:46 am)
Searching for FSAA TSE gives you this blog as the third result.
#2
09/02/2006 (11:53 am)
FSAA works in TSE if forced on by your graphics card control panel, but glow shows up through it all.
#3
09/03/2006 (1:24 pm)
@Stefan
I appreciate your search, but even milestone 4 screenshots look like FSAA is not turned on.

@Chris
I suspected as much, but was hoping I had missed something.

I started digging around to see why FSAA isn't supported on Windows. (Automatically in TSE, that is.) I'm not by any means an expert on rendering, so take my findings with a grain of salt, and anyone who really knows this stuff, please jump in and set me straight. ;-)

It seems that render-target textures (RTT) are popular for post-processing effects like glow. However, deep down inside Direct3D9, FSAA does not work when rendering straight to an RTT. That means one can have either FSAA or nifty post-processing effects, but not necessarily both [when rendering straight to an RTT]. Fortunately, there does seem to be a workaround that involves an FSAA backbuffer that then gets copied into the RTT. Unfortunately, this may mean a performance hit. (I don't know how big a hit it is.)

So, to get TSE to do FSAA along with those nifty post-processing effects it would mean having everything first render to a backbuffer, then copy the backbuffer into an RTT to continue processing. I don't know the best way to reconcile this with the baseline, though, as putting this into the GFX module may interfere with later support for OpenGL, and putting it in the D3D module may entail a fair number of hacks.

I'm hoping someone at Garage Games has already done all this footwork and at least has some outline of the pros and cons of how FSAA can be implemented in TSE. (This is the cue for someone from GG to jump in and share some wisdom on either current FSAA/TSE plans, or at least some advice on what they think the best approach would be at this point. Pretty please? ;-)

Tom
#4
09/03/2006 (3:48 pm)
I wonder if this is similar to the problem with the Oblivion game....you see on the PC version you cant have HDR lighting and any AA at the same time...but on the Xbox 360 you can have both....hope this is relevant
#5
09/05/2006 (5:17 am)
Actually Robert, from the Gears of War blogs, it seems not even the Xbox 360 can do HDR+AA at the same time.

But, wouldn't it be possible to turn on AA *only* when rendering the backbuffer, and disable it before RTT?
#6
09/05/2006 (9:56 am)
Well ive played Oblivion on Xbox 360 and you CAN have both and as far as I know the only place you can...well maybe iin the future;)
#7
09/05/2006 (12:01 pm)
Thomas has the issue pretty much nailed. The glow buffer needs some work before FSAA can be enabled in TSE.

What's happening now is that when FSAA is enabled, the depth buffer is no longer compatible with the glowbuffer rendertarget and it just draws glow everywhere. The problem can be solved by anti-aliasing the glow buffer, which will hurt performance. I just haven't had the time to mess with it to get it running properly.