• Register
  • TOS
  • Privacy
  • @NeoGAF

Durante
I'm taking it FROM here, so says Mr. Stewart
(04-11-2012, 09:41 PM)
Durante's Avatar
Nine months or so back I made a thread about adding FXAA to all PS360 games by playing via a capture card and running the postprocessing on PC using PtBi.

The main drawback of that method was that applying FXAA "blindly" on the whole image doesn't just anti-alias edges, it also slightly reduces texture clarity and, worst of all, negatively affects the clarity and shape of user interface elements.

Well, I finished work on a new post-processing anti-aliasing method that almost entirely eliminates that problem. A somewhat detailed description can be found here. In short, it uses the crazy power of contemporary GPUs (and a really useful OpenGL 4.2 extension) to search image areas that are (almost) certainly aliasing artifacts, and then selectively applies highest quality FXAA to only those areas. TPXAA is an improved version that takes multiple frames into account.

Some comparison images:


Clearly, the anti-aliasing effect is as good as FXAA. If you pay really close attention to the upper left texture you can also see how it's slightly blurred in the FXAA version.


2D/UI content is not blurred or deformed in any way.

I feel confident in saying that unlike FXAA, TPXAA is almost always purely an improvement, it never degrades any aspect of image quality.

Here are the full res images the first comparison above is cropped from (taken from Nier):
No AA
FXAA
TPXAA

What's the catch?
Well, there are two of them. First of all, to use it on console games, you need the right capturing hardware.
The second is performance. For a 720p frame FXAA takes 1.3ms on my setup -- TPXAA can take 2.8 - 3.6. Still easily enough for 60 captured console frames per second, but not a realistic option in any way for high-res PC games.

If anyone has the right equipment and an AMD card I'd be really happy to hear about any results, this was developed and tested on Nvidia so I'm almost certain that some problems may come up.
Toma
Let me show you through these halls, my friend, where treasures of indie gaming await...
(04-11-2012, 09:47 PM)
Toma's Avatar
You are one amazing dude, do you know that? (Awesome favorite game on top of that)

Wont be able to use it, but wow.

Edit: I want more High res anti-aliased Screenshots of current gen games please. Did you make more comparison shots of other games?
Last edited by Toma; 04-11-2012 at 09:50 PM.
scitek
Member
(04-11-2012, 09:50 PM)
scitek's Avatar
Aw man, that's awesome! You can't use it with PC games, though? I wish I had a capture card. :(
KageMaru
Member
(04-11-2012, 09:54 PM)
KageMaru's Avatar
That is really awesome, thanks for sharing man.
Durante
I'm taking it FROM here, so says Mr. Stewart
(04-11-2012, 09:58 PM)
Durante's Avatar

Originally Posted by Toma

You are one amazing dude, do you know that? (Awesome favorite game on top of that)

Thanks, some people would call it "obsessive" but I prefer "amazing" ;)

Originally Posted by Toma

Edit: I want more High res anti-aliased Screenshots of current gen games please. Did you make more comparison shots of other games?

Not yet, I just finished implementing it.

Originally Posted by scitek

Aw man, that's awesome! You can't use it with PC games, though? I wish I had a capture card. :(

Well, I guess it would be theoretically possible to adapt an existing "injector" and apply it using that, it only needs a color buffer to work with. But the performance is ~ 4ms in the worst case for a 720p frame. When you scale that up to 1080p, also taking into account that aliased edges could be longer, you're up above 10ms. That's just not feasible.

On PC, there are always better (in terms of quality for performance) methods available, even brute-force methods such as downscaling (if the game doesn't support any AA) will likely look and perform better.
Last edited by Durante; 04-11-2012 at 10:08 PM.
EvB
Member
(04-11-2012, 10:04 PM)
EvB's Avatar
I'd like to see some footage of Halo Reach passed through this, it's a lovely looking game, but jaggy as 'ell.
-Yeti
Member
(04-11-2012, 10:06 PM)
-Yeti's Avatar

Originally Posted by EvB

I'd like to see some footage of Halo Reach passed through this, it's a lovely looking game, but jaggy as 'ell.

I would really like to see Halo 3, which was even more jaggy.
Backfoggen
Member
(04-11-2012, 10:07 PM)
Backfoggen's Avatar
That's really impressive.
EvB
Member
(04-11-2012, 10:08 PM)
EvB's Avatar

Originally Posted by -Yeti

I would really like to see Halo 3, which was even more jaggy.

I'll raise your Halo 3 and say I'd like to see it on Halo 2, which was even MORE jaggy!
Kayhan
Member
(04-11-2012, 10:10 PM)
Kayhan's Avatar
What are you doing mang?

You need to patent or sell that for mega bucks!
scitek
Member
(04-11-2012, 10:11 PM)
scitek's Avatar

Originally Posted by Durante

On PC, there are always better (in terms of quality for performance) methods available, even brute-force methods such as downscaling (if the game doesn't support any AA) will likely look and perform better.

Gotcha! Well, you may convince me to finally buy that HD capture card I've needed for so long. :p
StoppedInTracks
Member
(04-11-2012, 10:16 PM)
StoppedInTracks's Avatar
Antialiasing console exclusive games via PC video capture card.

MIND. BLOWN.
TUROK
Member
(04-11-2012, 10:24 PM)
TUROK's Avatar
This is incredibly ingenious, well done.

Three questions, what constitutes a "somewhat capable PC", which specific capture card do you use, and will any of the three Blackmagic models work?

I noticed on the Halo 3 shots that your technique actually seems to sharpen textures, as opposed to blurring them like FXAA. Why is that?
Last edited by TUROK; 04-11-2012 at 10:38 PM.
StalkerUKCG
Member
(04-11-2012, 11:18 PM)
StalkerUKCG's Avatar
I use your program ALOT, i emailed you about it not sure if you remember. Anyway this is fantastic and i thank you for all your hard work.

Id love PS2 era system compatibility but i understand issues lie with that. Im very happy with it still
cyberheater
PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 PS4 XBOX PS4 PS4
(04-11-2012, 11:21 PM)
cyberheater's Avatar
What capture card and GPU would I need to accomplish this sorcery.
mrNTE
Junior Member
(04-11-2012, 11:26 PM)
mrNTE's Avatar
Blackmagic indeed. thanks for sharing.
StoppedInTracks
Member
(04-11-2012, 11:27 PM)
StoppedInTracks's Avatar
You should REALLY patent this ASAP.
kruis
Member
(04-11-2012, 11:35 PM)
kruis's Avatar
I'm seriously impressed.
Paracelsus
Member
(04-11-2012, 11:36 PM)
Paracelsus's Avatar
ctrl + f "mafia 2"

Mafia 2 needs this.
Special J
Banned
(04-11-2012, 11:36 PM)
Special J's Avatar
fxaa has multiple presets, high quality will give similar results as your method
dr_rus
Member
(04-11-2012, 11:38 PM)
dr_rus's Avatar
This is really good. If I understood the idea correctly it won't work on any aliasing that isn't a result of a relatively long (straight?) contrast edge? Thus it doesn't filter all the pixel sized high contrast areas and that's the reason why it doesn't blur? A shitload of processing power for the result though. Can it be optimized via using CUDA/OpenCL?

Originally Posted by Paracelsus

ctrl + f "mafia 2"

Mafia 2 needs this.

You can force all types of AA in Mafia 2 on GeForce.
Toma
Let me show you through these halls, my friend, where treasures of indie gaming await...
(04-11-2012, 11:38 PM)
Toma's Avatar

Originally Posted by Special J

fxaa has multiple presets, high quality will give similar results as your method

Partypooper.
Durante
I'm taking it FROM here, so says Mr. Stewart
(04-12-2012, 08:41 AM)
Durante's Avatar

Originally Posted by StoppedInTracks

Antialiasing console exclusive games via PC video capture card.

We do what we must because we can.

Originally Posted by TUROK

Three questions, what constitutes a "somewhat capable PC", which specific capture card do you use, and will any of the three Blackmagic models work?

All three should work, but to the best of my knowledge it has only been tested with the Pro and the Shuttle. I use the Intensity Pro. As to the PC, see below.

Originally Posted by TUROK

I noticed on the Halo 3 shots that your technique actually seems to sharpen textures, as opposed to blurring them like FXAA. Why is that?

That's actually the old technique, which uses basic FXAA and follows it up with a sharpen filter. TPXAA doesn't blur, so it also doesn't need a sharpen step (you can still do it if you want though)

Originally Posted by cyberheater

What capture card and GPU would I need to accomplish this sorcery.

It should work with any reasonably fast GPU (GTX460+), but so far it has only been tested on NV. But there's no GPU-specific code in there. As for the capture card, one of these: http://www.blackmagic-design.com/products/intensity/

Originally Posted by Special J

fxaa has multiple presets, high quality will give similar results as your method

Not really. I've tried all the preset, and if you want edge quality as presented in my screenshots above there's no way to prevent some degree of GUI deformation. FXAA is a single-step solution, it doesn't have any way to understand morphological information about the image to the extent something much heavier like PXAA does. (It's still very good and efficient for what it is mind you)
The preset shown in my comparisons is the highest quality FXAA 3.11 one available.

Originally Posted by dr_rus

This is really good. If I understood the idea correctly it won't work on any aliasing that isn't a result of a relatively long (straight?) contrast edge? Thus it doesn't filter all the pixel sized high contrast areas and that's the reason why it doesn't blur? A shitload of processing power for the result though. Can it be optimized via using CUDA/OpenCL?

Yes, it specifically detects aliased edges 3 pixels in size or longer. The original plan was to implement it using OpenCL, but since I found the GL_ARB_shader_image_load_store extension allowing scattered writes OpenCL wouldn't really give an advantage any more.
Last edited by Durante; 04-12-2012 at 08:53 AM.
Feep
Second-hand Citizen
(04-12-2012, 08:46 AM)
Feep's Avatar
Patent it. Now. I know a good software patent lawyer in the LA area if you need a hookup.
K.Sabot
Member
(04-12-2012, 08:48 AM)
K.Sabot's Avatar
Delete this thread, patent it, then repost it.
Tashi
343i Community Coordinator
(04-12-2012, 08:50 AM)
Tashi's Avatar
Hmmmm. I have a Black Magic card. A good PC. A good GFX card (GTX560 ti) I feel like I should try this. Not a graphics whore though so I don't think I'll appreciate the work you've done.

edit: Appreciate it like I really should.
StoppedInTracks
Member
(04-12-2012, 08:53 AM)
StoppedInTracks's Avatar
If you don't patent it some fat VC or some start-up will steal your solution, release as their own, make a lot of money and then sue you.

P A T E N T
I T
TUROK
Member
(04-12-2012, 08:54 AM)
TUROK's Avatar

Originally Posted by Feep

Patent it. Now. I know a good software patent lawyer in the LA area if you need a hookup.

He has nothing to gain from this. FXAA and those other post-process AA's are open source, so if he patents it, nobody is going to want to use it since other viable alternatives already exist.
iavi
Member
(04-12-2012, 09:07 AM)
iavi's Avatar
This is incredibly impressive. I wish I had the kit to give it a run.
Unregistered007
Banned
(04-12-2012, 09:12 AM)
does it work with vodoo 3dfx ?
red731
Member
(04-12-2012, 09:18 AM)
red731's Avatar
Whoa! That's pretty good! You are good, man!

PATENT IT as soon as possible!
Revolutionary
Member
(04-12-2012, 09:30 AM)
Revolutionary's Avatar
Wow, pretty impressive stuff. I have a Blackmagic Intensity Pro and I'd love to try it out, but I recently moved and the component cable for my PS3 isn't long enough to hook it up to the computer anymore. :(

Bookmarking for whenever I find a long enough cable.
Always-honest
always-end-with-a-swirl
(04-12-2012, 09:37 AM)
Always-honest's Avatar
Awesome. I SO hope devs and Sony, MS and Nintendo are Working hard on finding a cure for jaggies themselves.
Jaggies are immensly unimmersive and they ruin the fine art that insanely talented artists make.

Do tou think you can make this process even more effective?

In the Nier screens the texture detail is nicely preserved, but the jaggies are also slightly more visible than with FXAA (on the right, the stairs)
Last edited by Always-honest; 04-12-2012 at 11:00 AM.
Panajev2001a
GAF's Pleasant Genius
(04-12-2012, 09:46 AM)

Originally Posted by Durante

Nine months or so back I made a thread about adding FXAA to all PS360 games by playing via a capture card and running the postprocessing on PC using PtBi.

The main drawback of that method was that applying FXAA "blindly" on the whole image doesn't just anti-alias edges, it also slightly reduces texture clarity and, worst of all, negatively affects the clarity and shape of user interface elements.

Well, I finished work on a new post-processing anti-aliasing method that almost entirely eliminates that problem. A somewhat detailed description can be found here. In short, it uses the crazy power of contemporary GPUs (and a really useful OpenGL 4.2 extension) to search image areas that are (almost) certainly aliasing artifacts, and then selectively applies highest quality FXAA to only those areas. TPXAA is an improved version that takes multiple frames into account.

Some comparison images:


Clearly, the anti-aliasing effect is as good as FXAA. If you pay really close attention to the upper left texture you can also see how it's slightly blurred in the FXAA version.


2D/UI content is not blurred or deformed in any way.

I feel confident in saying that unlike FXAA, TPXAA is almost always purely an improvement, it never degrades any aspect of image quality.

Here are the full res images the first comparison above is cropped from (taken from Nier):
No AA
FXAA
TPXAA

What's the catch?
Well, there are two of them. First of all, to use it on console games, you need the right capturing hardware.
The second is performance. For a 720p frame FXAA takes 1.3ms on my setup -- TPXAA can take 2.8 - 3.6. Still easily enough for 60 captured console frames per second, but not a realistic option in any way for high-res PC games.

If anyone has the right equipment and an AMD card I'd be really happy to hear about any results, this was developed and tested on Nvidia so I'm almost certain that some problems may come up.

Impressive job!
InfiniteNine
Rolling Girl
(04-12-2012, 10:27 AM)
InfiniteNine's Avatar
Looking good man! O: Would love to use this with TLR.
Durante
I'm taking it FROM here, so says Mr. Stewart
(04-12-2012, 11:02 AM)
Durante's Avatar
About the whole patenting thing, thanks for the support, but:
- There is prior scientific work that does somewhat similar things (even if implemented entirely differently) since at least the mid-90s -- I know of one Japanese paper in particular, and of course the recent Intel MLAA paper (which doesn't cite the Japanese one - bad science :P)
- Patenting stuff sounds like work, and the kind of work that's not as fun as thinking about pixels for hours
- I don't like the whole idea of software patents

At least by publishing this I prevent others from patenting a concept like this.

Originally Posted by Always-honest

Do tou think you can make this process even more effective?

Probably by some percent, it's not really optimized (beyond being implemented with an eye or two on efficiency from a start). But I don't think it could ever be effective enough to be a good alternative if anything other than postprocessing the entire finished color buffer is viable.
Always-honest
always-end-with-a-swirl
(04-12-2012, 11:33 AM)
Always-honest's Avatar

Originally Posted by Durante


Probably by some percent, it's not really optimized (beyond being implemented with an eye or two on efficiency from a start). But I don't think it could ever be effective enough to be a good alternative if anything other than postprocessing the entire finished color buffer is viable.

Okay thanx.
Boerseun
Banned
(04-12-2012, 12:51 PM)
Wow, brilliant stuff. I need to give this a shot.
Confidence Man
360 release: 2005
PS3 release: 2007
I need the reminder.
(04-12-2012, 12:55 PM)
That's pretty wild. Can you plug basically any postprocessing effect into PtBi?
Durante
I'm taking it FROM here, so says Mr. Stewart
(04-12-2012, 01:17 PM)
Durante's Avatar

Originally Posted by Confidence Man

That's pretty wild. Can you plug basically any postprocessing effect into PtBi?

Yes, as long as you can implement it in OpenGL.
(Well, and the whole stack should take as little time as possible obviously, and never more than 16 ms)
hirokazu
Member
(04-12-2012, 01:18 PM)
hirokazu's Avatar
Wait you came up with this algorithm yourself? That's some genius level shit. You should submit a paper to siggraph or whatever people do.
InfiniteNine
Rolling Girl
(01-28-2013, 06:16 PM)
InfiniteNine's Avatar
I remembered this while I was playing Valkyria Chronicles at my study, but it appears that PtBi just immediately crashes on my computer now that I'm home. x: I had really wanted to see what it'd do to VC considering it's abundance of jaggies.

Thread Tools