On Fri, May 05, 2006 at 10:17:15PM +0200, Jiba wrote:
> 
> > 2) PIL doesn't support APNG, MNG, or Ogg Theora
> 
> Yes, but at least it supports PNG, JPEG and other more "exotic" image format.
> Adding support for animated textures doesn't require to rewrite non-animated 
> texture, isn't it ?

We don't need these exotic image formats :-)

I believe that the API for animated and non-animated should be the same.  
This seems to be the most intuitive way to do it.  An animated image is 
still an image, after all.  

I should note that GIF is now Free, even though it's not as good as PNG.

One way or the other, since there doesn't seem to be a python module to 
do these animated formats, someone is going to have to write it.  Having 
it be seperate from Soya could be good.  Having it do non-animated PNG 
and JPEG is also good.  Heck, PIL being as large as it is, why don't we 
target that instead of continuing to use PIL? :-)


> Moreover, PIL is packaged for many Linux distribution, if not all.

Yes, but we can't append to PIL.
 

> As long as it is GPL'ed, and it fits our need, it is not a problem.

Read more carefully.  Their older versions are GPLed.  They do not 
solicit community contributions and any that are given must be assigned 
to them so they can sell commercial licenses until the version after 
that comes out (at which time your contributions will be also GPL).

PIL doesn't fit all our needs.  Not anymore.  So it is a problem.
 

> I also think we don't have to support ALL animation formats. I think a 
> loss-less compression format and a non-loss-less compression format is 
> far enough, as conversion tools exist, or even only a single format. 
> My personal preference goes to MNG and / or Ogg Theora. Ideally, we 
> should not link directly to the C library (libmng, libtheora ?) but 
> use the corresponding python module (pytheora ?), in order to avoid 
> static dependencies as well as compilation troubles.

I don't think py-theora exists.  I would know, check my address ;-)

I have tried to work with libmng; the MNG format is just soo complicated 
with all sorts of variables, it's not just frames with variable delay 
between them.  

For this reason, I vote for APNG and maybe, also, Theora support later.

I propose, given the concern over Soya linking to these image libraries 
directly, a small Python module with decode support for (A)PNG and JPEG.

This module could give stats about a file without doing a full decode 
yet then preform the decode when the data is actually to be used and 
even provide partially-loaded data if nessesary (to keep fluid animation 
if loading new images mid-game) while it loads/decodes it.

Such a module shouldn't take more than a day or two to write.

_______________________________________________
Soya-user mailing list
Soya-user@gna.org
https://mail.gna.org/listinfo/soya-user

Reply via email to