(click thumbnail to get large screenshot)
Hia, I thought I would make a quick demo of the texture/sprite animation library I'v been building over the last couple of weeks. It's going to be free to use as in: do whatever you want with it, as long as you don't sue me if anything goes wrong.
Features:
* Read any
MNG or
GIF file (transparancy supported)
* Read any Animation file supported by the
Java Media Framework * Use such animation as a
texture in JOGL
* Access all the frames in supported formats
* Fetch the frame for animation time 'x'.
* EASY to use.
* optimized for speed. (although this can probably always be improved)
1 2 3 4 5 6 7 8 9 10 11 12
| MNGAnimation ani = new MNGAnimation(new File("test.mng")); JMFAnimation ani2 = new JMFAnimation(new File("test.mpg")); GIFAnimation ani3 = new GIFAnimation(new File("test.gif")); AnimationFrame frame = ani.getFrameForTime(60);
frame.getBufferedImage(); frame.getTextureCompatibleBuffer();
GLTool.updateTexture(gl, textureNum, frame); |
For the demo to work, you will need the Java Media Frame work:
http://java.sun.com/products/java-media/jmf/Also, if you want support for more formats (since JMF's support for divx and xvid etc just plain sucks), install
FOBS (
http://fobs.sourceforge.net) or JFFMpeg(
http://jffmpeg.sourceforge.net/). (This is a pain the *** to do though...)
For a good example movie, download the Anime Music Clip "Linkin Park - In the end (Final Fantasy 9).mpg" from FilePlanet:
http://www.fileplanet.com/81389/80000/fileinfo/Final-Fantasy-9-Tribute-w/Linkin'-Park. This is the movie in the screenshots.
An good example of a GIF animation is here. (right click to download):
http://cal007300.student.utwente.nl/vincent/test.gifI dont have any good example MNG's, you'll have to look for you yourself :\
Demo Program Features:
open any GIF/AVI/MNG/MPG file.. enjoy. drag mouse to rotate and zoom the animation.
Anyway, it's still in development... a bit messy here and there.. and I think i'm going to create a webpage for it. Also, at this moment, GIF and MNG animations are not memory efficient, since they store both the original image, as well as a scaled texture-compatible version. There are some design choices left to make... but I'll keep you guys posted... I'll post a beta version next week.