PGF lossy image format - any experiences?

Started by GarageGothic, Sun 23/05/2010 01:31:23

Previous topic - Next topic

GarageGothic

I'd like to implement support for a lossy image format in the AGS plugin I'm working on (mainly to make very hi-res games feasible to distribute online), but I've been having a hard time finding a format without iffy licensing issues - JPEG2000 seemed nice, but their website hints that there could be unclaimed patents on parts of the technology.

Then today I came across PGF which offers good compression ratio (marginally worse than JPEG 2000, but significantly faster decoding makes it an acceptable tradeoff), alpha channel support, and is licensed under LGPL. The downside is that hardly any drawing programs support it, though the logical implementation would be to store graphics in a lossless format during development and convert the files and store them in a custom resource file upon release, so not really an issue.

However, it doesn't seem that very many are using the format yet (OGRE3D does support it, but it's just one in a long list of formats) and the lack of feedback on strengths and weaknesses in a practical implementation makes me a bit hesitant. So is anyone here familiar with the format or better yet, have used the library for their own game/application?

bucketbot

I recently implemented the PGF library in an application and it was far faster than JPEG 2000. From my experience, it was also very easy to implement and does a good job of compression. If you're saving lossless, PGF can do that, too.

GarageGothic

Excellent, that's very good to hear. I didn't run any performance tests myself, but the PGF/JPEG2000 comparison charts I've seen also came out in PGF's favor by an impressive margin. PGF it is then! Many thanks for the input.

bucketbot

You're welcome! I'd be interested in hearing how your efforts turn out.

GarageGothic

Hopefully you'll see it in the shape of a plugin eventually. Still have a bunch of features to work out and implement - the lossy image support is just a little piece of the puzzle. I hope it'll provide solutions for most of the issues I'm currently having with the AGS engine and its drawing functions (I figured why bitch about lack of features when you can spend the same energy on implementing them yourself), though still I do rely on CJ to add one essential feature to the plugin API to be able to realize my full vision, so I can't really make any promises on how long it's gonna take.

uswin

Hi GarageGothic, I have to agree with your vision, in my country (indonesia), internet connection has always been a problem, so it's really important to considered an optimized file size, which AGS sometimes lack of, but AGS is definitely a great engine for me due to it's intuitive and fast working pace.  I hope that you didn't give up your progress in this plugin.  ;) thanks

GarageGothic

Hey uswin, nice to hear that others also would find this feature useful. Your post made me rethink the scope of the plugin and I now consider releasing it in a more modular form than originally intended. The "big picture" vision included replacing AGS' viewport renderer entirely, but since that could take a while I may as well finish the PGF importer and release it as a stand-alone plugin until then.

As I said in the other thread, the main thing holding me back has been deciding how to handle the custom resource file format (to bundle the PGF images in a single data file instead of storing them individually in the game folder). To clarify, I don't actually need to finish the resource file part of the plugin before releasing the PGF importer, but I must make sure that the folder structure and id tag format are final specs so all your image links won't be broken just because I changed my mind during development.

SMF spam blocked by CleanTalk