TGEA 1.0.3 FSAA Not working
by Thanhda Tie · in Torque Game Engine Advanced · 12/25/2007 (8:12 pm) · 8 replies
Hi, just curious, why doesnt the latest version of TGEA FSAA not working? it seems to work great with TGE 1.52
#2
12/25/2007 (11:39 pm)
Full Screen Anti Aliasing
#3
12/26/2007 (2:30 am)
Because the shader driven environment features used by TGEA do not allow FSAA to work unless you implement an own FSAA basing on shaders instead of a hardware feature. (similar to ATIs HD2300+ approach)
#4
12/26/2007 (8:07 pm)
So what is ATI's approach?
#5
12/27/2007 (12:54 am)
Implementing a shader that does FSAA that is directly part of your driver and that is used if you enable FSAA in the driver.
#6
12/27/2007 (6:08 am)
It'd be nice if someone implemented something, because AA only works if I force it via the ATI control center, and even then it only works if you do not have HDR/Bloom enabled.
#7
Someone able to write such a shader is most likely not using TGEA hired on a team using a commercial high end engine.
12/27/2007 (6:23 am)
Its hard to do and costs a lots of performance. the only game I know that uses that is Tabula Rasa as its deferred shading is an MRT effect and MRT automatically disables FSAA as it does not work on MRTs.Someone able to write such a shader is most likely not using TGEA hired on a team using a commercial high end engine.
#8
In DirectX you can't do MSAA and keep the back-buffer... You have to initialize DX in D3DSWAPEFFECT_DISCARD mode. For whatever reason TGEA uses D3DSWAPEFFECT_FLIP mode.
And since you don't have a (reliable) backbuffer in DISCARD mode it doesn't make sense to lock it either, so you can't use the D3DPRESENTFLAG_LOCKABLE_BACKBUFFER flag.
I haven't looked into it in too much detail yet, but I can't imagine a scenario where you _need_ to use FLIP mode... As a quick test I removed the LOCKABLE/FLIP stuff, enabled MSAA and the UI works fine (and is anti-aliased) but shapes don't render properly. There's gotta be a workaround.
Maybe the locking backbuffer is in there for shadow processing?
01/29/2008 (1:20 am)
There's two things that prevent TGEA from being able to take advantage of MSAA or FSAA (full _scene_ anti-aliasing according to the DX docs.. it works in windows too ;)In DirectX you can't do MSAA and keep the back-buffer... You have to initialize DX in D3DSWAPEFFECT_DISCARD mode. For whatever reason TGEA uses D3DSWAPEFFECT_FLIP mode.
And since you don't have a (reliable) backbuffer in DISCARD mode it doesn't make sense to lock it either, so you can't use the D3DPRESENTFLAG_LOCKABLE_BACKBUFFER flag.
I haven't looked into it in too much detail yet, but I can't imagine a scenario where you _need_ to use FLIP mode... As a quick test I removed the LOCKABLE/FLIP stuff, enabled MSAA and the UI works fine (and is anti-aliased) but shapes don't render properly. There's gotta be a workaround.
Maybe the locking backbuffer is in there for shadow processing?
Torque Owner Ronald J Nelson
Code Hammer Games