PDA

View Full Version : Voodoo5 FSAA works in 2D?? Huh?


KAN
12-11-05, 05:00 AM
Well I stumbled upon this article, (http://www.maximum3d.com/reviews/v513.htm) and pretty much surprised with what I read.

The article says that enabling V5 FSAA in StarCraft slightly smoothes the sprites. Also, using V5 FSAA in Diablo II really smoothes the terrain.

Well, both of them are 2D games. Granted Diablo II uses direct3D, but IIRC it is only for lightning effects, while the rest of the game is 2D.

On the other hand, I thought Voodoo5 FSAA can only work in 3D, because its multisample FSAA method works by rendering multiple samples of the same frame while slightly ofsetting the geometry in four different directions, and then combines the multiple samples while averaging the colors. So since it needs geometry data, I guess it only works in 3D.

Or maybe I was wrong? Maybe, it is only the pixels that are jittered to procude the multiple samples, while the geometry is not used at all?


On a side note, IIRC older nVidia cards were doing FSAA using supersampling (oversampling) method: that is, rendering the image in higher resolution, then downsample it back to its original resolution while averaging the colors. Correct me if I'm wrong, but it seems this particular FSAA method doesn't require geometry data. IIRC those MPEG people also use similar supersampling method to smooth out VCD movies.

Thus, I guess it's possible to 'force' supersampling FSAA in 2D games, even in our Windows desktop! Maybe such thing is possible, using driver hacks or such?

jolle
12-11-05, 05:06 AM
I recall running Diablo 2 in Glide using a Wrapper for my 9700Pro back in the days, to get AA working, and it worked fine, altho it was pretty much only a bit more blurry..
Sort of how text can get blurred in games when using AA..
Not sure how it works on 2d sprites, since you generally need SSAA for that..

KAN
12-11-05, 05:17 AM
I recall running Diablo 2 in Glide using a Wrapper for my 9700Pro back in the days, to get AA working, and it worked fine, altho it was pretty much only a bit more blurry..

Ah, Diablo II uses Glide instead of Direct3D. I stand corrected.

But then again, IIRC it only uses 3D API for lightning effects, while the game is still 2D. Am I correct?


Sort of how text can get blurred in games when using AA.
Not sure how it works on 2d sprites, since you generally need SSAA for that..

Now this is interesting; if the 2D text get blurried, then it could mean two things:

(1) The 2D game is rendered using supersampling, which IIRC doesn't need geometry data. However, this can't be the case in Voodoo5 since it uses multisample FSAA using its t-buffer.

(2) Voodoo5 multisample FSAA actually does not use geometry data at all; it merely jitters (offsets) the "pixel matrix" of a given frame.


In both cases, then it means Voodoo5 FSAA can work in 2D, since it doesn't need geometry data at all.


Also, I guess supersampling FSAA doesn't need geometry data either. Wouldn't it be interesting if we can actually force FSAA on 2D games and Windows desktop? Some older games only support 640x480 (like Fallout). I guess 2D FSAA can smooth (albeit blur) those games.

MUYA
12-11-05, 05:18 AM
Thus, I guess it's possible to 'force' supersampling FSAA in 2D games, even in our Windows desktop! Maybe such thing is possible, using driver hacks or such?
rivatuner?

KAN
12-11-05, 05:31 AM
rivatuner?

Doesn't rivatuner only support FSAA in Direct3D and OpenGL? Ie 3d only?

It's interesting to note that console emulators can force FSAA on emulated games, but if we can make it work on all games....

jolle
12-11-05, 05:48 AM
I think Diablo II runs Glide AND D3d.. depending on what it detects..
I would expect it to use the 3d acceleration to draw everything, but handling things as flat surfaces with textures on them..
But that wouldnt explain the AA on the contours of things, since MSAA would only apply to polygon edges and not inside a transparent texture.. so maybe it goes about it differently..

EDIT
Since Windows isnt 3d accelerated I dont think you can apply any AA on it..
Avalon, the "engine" for 3d acceleration on the Vista desktop might take AA, but prolly (if any) only SSAA since it will be handling open windows as textures..

KAN
12-11-05, 06:06 AM
I think Diablo II runs Glide AND D3d.. depending on what it detects..
I would expect it to use the 3d acceleration to draw everything, but handling things as flat surfaces with textures on them..
But that wouldnt explain the AA on the contours of things, since MSAA would only apply to polygon edges and not inside a transparent texture.. so maybe it goes about it differently..

I thought both MSAA and SSAA also works on textures inside the polygon (not only the edges), hence the elimination of texture shimmering. IIRC the FSAA method that works only on polygon edges are Edge AA used by Matrox Parhelia (Parhelia uses AF to eliminate texture shimmering).

Or am I wrong?



EDIT
Since Windows isnt 3d accelerated I dont think you can apply any AA on it..
Avalon, the "engine" for 3d acceleration on the Vista desktop might take AA, but prolly (if any) only SSAA since it will be handling open windows as textures..


I guess it would be cool if there's some kind of 'plug-in' for Windows (be it XP, 2000, or 9x) that utilizes the GPU's processing power to supersample the entire desktop, including every 2D applications that runs full screen. Imagine playing games like Fallout using forced SSAA....

jolle
12-11-05, 06:42 AM
Avalon is set to be released for XP aswell acctually..
And I think WindowBlinds or one of those "Skinning" things for windows uses some form of HW accell.. not sure how much or if you can use FSAA on it..

Anyhow, MultiSampling AA only takes samples on Polygon egdes, hence it doesnt AA textures or Alpha blended textures (which the new Transparancy AA does, it detects Alpha blended textures and SSAAs them).
SuperSampling renders the entire image larger and downsamples it, hence affecting everything, but is pretty heavy to use..
Cant recall what was special about Matrox AA thing.. Fragment AA wasnt it? prolly some type of MSAA..

Fallout with SSAA would be nice, would be like emulating a higher resolution sortof.. if its using DirectDraw or something, maybe its possible? dunno really.
If your into the old Monkey Island and that type of game, running them with ScummVM gives you a few SSAA options, and some other types of hybrid modes.. prolly all run on CPU, but still pretty nice.. reran the Dig using one of those modes..HQ3x I think it was called..
Exult, a Ultima 7 windows engine also allows pretty much the same modes..

I tried Grim Fandango using SSAA.. got all weird, but it would run with MSAA, it didnt on my old 9700Pro since ATI hardware wouldnt run AA on 16bit color OpenGL..

-=DVS=-
12-11-05, 12:40 PM
Its purely software side i think , when i got my first TNT 2 Ultra from Creative their drivers had option for AA in 2d , worked on regular pictures and best of all on animated gifs , no more moveing jaggies , but offcourse knowing how lazy Creative was never updated drivers had to move to Nvidia set , all options were gone....
Maybe there is patent of somesorts that noone else included it.

CaptNKILL
12-11-05, 02:19 PM
Ive noticed that a lot of Java apps get anti-aliased when I have AA Enabled for Direct3d in the control panel. If drivers can AA an entire Java app screen (all the text and images in Limewire blur for example) then its possible for them to effect 2d games as well id imagine... maybe its a general DirectX thing, not just Direct3d?

Edge
12-11-05, 04:30 PM
Hmm, that's interesting, but because of the way the Voodoo 5 applies FSAA, it also makes sense. Instead of how other methods do it, the AA is more of a post-processing effect that's applied right before the scene is output to the monitor (which is why you can't even take screenshots of it unless you route the signal to video-in on another computer). I'm guessing that the reason it works in a 2d game is because the outlines of sprites are blurred slightly, which causes the aliasing around them to be much less apparent. It's hard to say, but it would be nice if someone came up with a software AA emulator that works like the Voodoo 5's AA did.

But the Voodoo 5 does use SSAA, back then MSAA wasn't an option. That's why AA is applied to alpha textures as well.

Doesn't rivatuner only support FSAA in Direct3D and OpenGL? Ie 3d only?

It's interesting to note that console emulators can force FSAA on emulated games, but if we can make it work on all games....
Emulated games almost always render through D3D or OpenGL, so the standard FSAA capabilities of those APIs will work in those games. But if a game runs something through software, then FSAA isn't an option using the normal videocard options (for example, the Saturn emulator Cassani uses a hybrid software/D3D renderer, and FSAA only works on the D3D rendered parts).

saturnotaku
12-11-05, 07:24 PM
The glide emulator I use for Carmageddon 2 runs its calls through OpenGL. A lot of those older glide games make heavy use of alpha textures so having both transparency and 8xS AA makes a huge difference. Carma 2 runs at 640x480, but with AA cranked on all levels it seriously looks like it's running at 1600x1200.

[AK]Zip
12-12-05, 03:15 AM
I love my Voodoo 5 5500! :)

KAN
12-12-05, 05:30 AM
But the Voodoo 5 does use SSAA, back then MSAA wasn't an option. That's why AA is applied to alpha textures as well.

Wait, did I confuse the terminology?

Well, from what I understand so far, SSAA is the method when the video card renders a frame in larger resolution, then resize it back to its original resolution while averaging the colors. For example, applying 2X FSAA to a 800x600 frame means that the video card has to render the frame in 1600x1200, then resize it back to 800x600.

So I think the SSAA is the best method when it goes to compatibility, because it doesn't need geometry data; it can virtually work with any kind of games. In fact, I guess SSAA can be applied to 2D as well.


As for Voodoo5 FSAA method, it's slightly different than SSAA employed by GeForce 2 or others; instead of rendering the frame in bigger resolution, the Voodoo5 renders the frame four times (or twice in case of 2X AA) while each frame is tilted slightly. Then, using t-buffer, the different frames are combined into a single, anti-aliased frame.

Thus, I called the Voodoo5 method "MSAA" is merely based on my own impression, because the Voodoo5 renders multiple samples of the frame.



So my questions are:

(1) Is Voodoo5 FSAA method the one what should be called MSAA? Or MSAA is actually a designation for another method?


(2) Does the Voodoo5 use geometry data when "tilting" a frame sample, or merely tilt the "pixel matrix" and not using the geometry at all?


(3) Or maybe the Voodoo5 FSAA method is merely a different way of doing SSAA?


(4) My impression is that SSAA has better "compatibility" thoughout all applications and games, because it doesn't use geometry data and merely manipulates the pixel. Am I correct?


(5) Back in 2000, during the Voodoo5 vs GeForce2 duel, 3dfx always claim that Voodoo5 has better FSAA compatibility for older games. The question is: why? Why it was said that Voodoo5 FSAA has better compatibility? Probably because Voodoo5 FSAA doesn't use geometry data?


(6) Frankly, I didn't test GF2 FSAA for older games at that time, but I did read some article that says GF2 FSAA may have compatibility problems for older games. Well, since GF2 uses SSAA, which doesn't use geometry data at all, then what compatibility problems they're talking about?


(7) But even if the FSAA method uses geometry data (like Matrox Parhelia's Fragment AA), I still fail to see why there should be "incompatibility issues" regarding to FSAA. I mean, as long as the game is written using the right API, then there shouldn't be compatibility problems.


(8) Regarding to # 7, then I guess we can actually use FSAA with new video cards like GeForce 7800 or ATi X1000, on really old games like Hellbender or Interstate 76, as long as those games support Direct3D or OpenGL.

Can anyone confirm or deny this? Has anyone tried 7800's FSAA on really old games? How about compatibility problems? Is there any?

fivefeet8
12-14-05, 01:31 AM
The Voodoo 5 used a Rotated Grid Super Sampling method. Nvidia's older Geforce2 hardware used a Ordered Grid Super Sampling method.

The 3dfx Voodoo4/5 were the only cards which it's FSAA effected 2d. It blurred it quite a bit. Kinda bad if you really want a clear screen, but in older 2d games and of coures Emulated console applications, it was a godsend. ;)