Author Topic: FF7 - Filtering with HQ2x or similar programms  (Read 4777 times)

Gibdos

  • Guest
FF7 - Filtering with HQ2x or similar programms
« on: 2005-02-21 12:18:10 »
Hi people, I am new here. First I wanna say hello. Consider it said^^
Now to my question.
Since FF 7 is now already 7 years old (Lucky 7^^) the graphic is very outdated.
I think many people know the most common emulators like ZSNES or ePSXe or GENS and so on. Most of those Emulators are using filters, to enhance the graphic. Or better said, it decreases the pixels of a graphic.
The most used filters for old games are 2xSAI / Super 2xSAI and HQ2x (3x, 4x)
Now my question is, if there is a way to use those filtering system with PC games. To be more pressice, in Final Fantasy 7.
Since I don't know a thingy about programming, coding, hacking and stuff, I thought that maybe some pros here know how to make such a thing possible.

Hope I am more then just dreaming^^

PS: Excuse my "not-so-good" english. It is not my native language.

DragonZap

  • *
  • Posts: 12
    • View Profile
FF7 - Filtering with HQ2x or similar programms
« Reply #1 on: 2005-02-21 21:04:17 »
Those filters are pretty much meant for real-time pixel-based images. This means that, for the most part, they are unnecessary for anything 3D (because 3D data is described geometrically rather than by using pixels, and thus can scale to any resolution with no problem) or for any static 2D images (because these could be preprocessed with a filter that would produce higher-quality images).

Long story short - for a game like FF7, which is pretty much all 3D, I don't think they'd help, and they'd in fact probably make it look worse. Yes, there are 2D backgrounds, but those are static images, and thus if you wanted to filter them, you could preprocess them instead of doing it in-game.

Aaron

  • *
  • Posts: 2818
    • View Profile
    • http://aaron-kelley.net/
FF7 - Filtering with HQ2x or similar programms
« Reply #2 on: 2005-02-21 21:40:30 »
I agree with DragonZap -- it's not really necessary to apply such filters to 3D.

Pete's graphics plug-ins for ePSXe support filtering textures with 2xSaI, IIRC.  FF7 doesn't use that many textures, but there are some on the battle environments, and it might also be able to filter the 2D backgrounds.  It'd be much harder to get the filtering working in the PC version of FF7, I think.

Qhimm

  • Founder
  • *
  • Posts: 1996
    • View Profile
    • Qhimm.com
FF7 - Filtering with HQ2x or similar programms
« Reply #3 on: 2005-02-22 08:57:29 »
For the PSX version, this is of course already implementable in the field of graphics plugins, and is probably already doable as Aaron mentioned. For the PC version, things are a bit more complicated. Since I've toyed with the idea before though, here's my take on it.

Though FF7 does contain a lot of 3D graphics, there are at least two glaring areas which could benefit from "high-res" filtering: field backgrounds and movies. Field backgrounds are often static and thus usually will only need to be filtered once at load time, but animated backgrounds would require extra, real-time filtering as DragonZap was talking about. The movies, which are low-res and thus suffer from a pixelated appearence in high resolution, could probably also benefit from some real-time pixel filtering algorithm. This is also what I believe Gibdos was thinking about, not the 3D bits which obviously don't need filtering.

As for actually implementing it... well, that's more tricky. As I wrote in another post, we do (or at least will) have the possibility to intercept and process any FF7 graphics call and add whatever "feature" we want to it, but it will not be as easy to make any sort of high-level distinctions while doing so. In other words, we know an area perpendicular to the screen is being rendered, but we have no idea if it is a field background, a menu screen, a movie or even just a polygon facing that way. The optimal way to implement filtering is through an engine rewrite, and this is still way off.

DragonZap

  • *
  • Posts: 12
    • View Profile
FF7 - Filtering with HQ2x or similar programms
« Reply #4 on: 2005-02-22 17:13:52 »
I haven't played FF7 in a long time, so correct me if I'm wrong on this, but I think even the animated backgrounds were not particularly complex -- maybe flashing lights or small waves on water or whatever. A few extra tiles could probably still be preprocessed.

Filtering makes the most sense when you don't have complete/direct control over the original data. This makes it perfect for emulators, where you're going to have many different games from many different sources. The emulator author doesn't know how the graphics will be stored in any of those ROMs or whatever, (and they'd probably be different for every game anyway) and so cannot modify the graphics there. But the emulated code knows how to read them and get them on to the screen, at which point the emulator can filter them. This works on any game the emulator can play without having to modify the games themselves.

For anything written from scratch, however, or anything where you can already change the resolution and graphics files, the only place I could see filtering being useful is if your game was designed for a lower resolution and you wanted a quick and dirty way to jump it up to a higher resolution without redoing everything. I see a lot of talk around here about delving into the guts of FF7, so I'm not sure how much control you have over the actual 2D graphical assets and how they're used. If "none" or "very little," then I'd say yeah, go for filtering. If "lots" or "everything," then preprocessing is definitely the way to go, since it would be less processing to do at runtime.

Incidentally, I'm wondering how those real-time filtering algorithms would look when applied to a movie suffering from compression artifacts...

Edit: Actually, I see that your intent is to continue to use the original CDs and disallow running from any writable source (i.e. someone's hard drive) to prevent piracy and such. So in that case, yes, filtering of the 2D data would be useful (but if you end up writing your own engine, it can still be done just once at load time).

Qhimm

  • Founder
  • *
  • Posts: 1996
    • View Profile
    • Qhimm.com
FF7 - Filtering with HQ2x or similar programms
« Reply #5 on: 2005-02-22 17:30:25 »
Yes, the animated backgrounds are simple, but they're still just a huge collection of tiles, the arrangement of which the engine has no real knowledge of. So in order to properly filter the entire image (instead of just the individual 8x8 pixel blocks), you either need a horribly advanced preprocessing algorithm to calculate all the possible combinations for a specific field, or do it real-time.