Animations in Celestia (edited subject, maybe more replies?)

The place to discuss creating, porting and modifying Celestia's source code.
Topic author
buggs_moran
Posts: 835
Joined: 27.09.2004
With us: 20 years 1 month
Location: Massachusetts, USA

Animations in Celestia (edited subject, maybe more replies?)

Post #1by buggs_moran » 16.01.2006, 03:11

I know gifs are not supported in Celestia. First off I was wondering why, is it the patent problems from Unisys or the fact that they are just not a great graphics format for Celestia? Either way, I was thinking that many issues of cyclical motion might be solved rather quickly with the implementation of animated gifs or MNGs. MNGs, from what I have read, are implementable in 3d programs, are free-use, and support all the things we love about PNGs. I imagine if PNGs are the best solution for static textures, it would be really impressive if we could have animated PNGs for Celestia as well. MNGs are editable in GIMP with an addon.

I realize this would add to the size of Celestia and would not be too useable with older computers, but in the years since Celestia was first created we have seen unbelievable increases in the textures we use, and they do fine on modern computers/graphics cards (not those archaic ones from 3 years ago :wink:).

However, as I have stated many times, I am no programmer, so I don't know what this entails. So, is getting Celestia to recognize MNGs tough? I am going to start digging around Fridger's code maps to see what I can figure out on my own, but I don't expect to have much luck. So far, I know libmng will be important and it is here http://gjuyn.xs4all.nl/libmng/download.html?cat=25

This site may also be important http://www.libpng.org/pub/mng/

Imagine if you would, these animations:

Cyclical animations of textures on 3d meshes
    - Stellar flares and CMEs
    - Pulses off of cataclysmic binaries
    - Volcanos on Io
    - Geysers on Triton
    - Plumes of Enceladus
    - Moving (not simply orbiting) cloudmaps, spinning hurricanes...
    - Lightning on the dark side of Jupiter
Single use animations of textures
    - Rotating information (with the recently created overlay addon)
    - Animations that have to happen on a certain date
      - medusa's impacts
      - fsgregs, Jestr, Don Edwards and Runars birth of the moon
      - contrails
      - explosions (think Shoemaker Levy 9)


etc, etc, etc...

8)
Last edited by buggs_moran on 18.01.2006, 00:44, edited 1 time in total.
Homebrew:
WinXP Pro SP2
Asus A7N8X-E Deluxe
AMD Athlon XP 3000/333 2.16 GHz
1 GB Crucial RAM
80 GB WD SATA drive
ATI AIW 9600XT 128M

suwalski
Developer
Posts: 62
Joined: 03.12.2003
With us: 20 years 11 months
Contact:

Post #2by suwalski » 16.01.2006, 23:28

Okay, so you have an animation in the MNG format. Now what?

Well, you have to read it in and convert it frame by frame into multiple textures that OpenGL will understand. You will lose all advantage of having graphics in this format.

And GIF -- well, if you like 8-bit graphics...

Topic author
buggs_moran
Posts: 835
Joined: 27.09.2004
With us: 20 years 1 month
Location: Massachusetts, USA

Post #3by buggs_moran » 18.01.2006, 02:40

suwalski wrote:Okay, so you have an animation in the MNG format. Now what?

Well, you have to read it in and convert it frame by frame into multiple textures that OpenGL will understand. You will lose all advantage of having graphics in this format.

And GIF -- well, if you like 8-bit graphics...


I realize 8 bit graphics would not be worthwhile, that is why I suggested the MNGs. Converting it frame by frame couldn't possibly be so taxing on a system if one were to use small textures, 256 x 256 can hold neat animations if necessary. For instance, this animation is about 4 hours of data and very small. (granted it is a gif)

With some transparency work, some pretty easy image manipulation to clean up the file and converting it into MNG integrating it onto the sun on a billboard 3d mesh wouldn't be so hard. Would it? The main goal here is a cyclical animation that would not involve begin and end dates. Obviously this animation would need recoloring and to be slowed way down...

Image
Homebrew:

WinXP Pro SP2

Asus A7N8X-E Deluxe

AMD Athlon XP 3000/333 2.16 GHz

1 GB Crucial RAM

80 GB WD SATA drive

ATI AIW 9600XT 128M

Avatar
fsgregs
Posts: 1307
Joined: 07.10.2002
With us: 22 years 1 month
Location: Manassas, VA

Post #4by fsgregs » 23.01.2006, 04:03

Buggs:

There is a company called First Inspired, Ltd out of England that makes flash animation. One of their free screensavers is called "Europa" and can be found here:


http://www.xviews.com/europa.htm

It features gas geysers/vents of animated gas coming off the surface of Europa. the code is written in flash and I know nothing at all about flash, but if it were possible for Celestia to mimic some type of flash animation routine, this might be right up our alley. First Inspired already knows about Celestia. In fact, they graciously worked with me at no charge to create a customized version of their "Mission to Mars" screensaver, which I've incorporated into one of my Activities (Activity 5).

Could flash code or animation technique be used in Celestia?

Frank

MKruer
Posts: 501
Joined: 18.09.2002
With us: 22 years 2 months

Post #5by MKruer » 23.01.2006, 04:59

Right now, the inherent problem with any types of animation is that the size of the image then need to be replaced is overwhelming. Even if you are only changing a few pixels you are still effectively replacing the entire image for each frame, this is more or less how it works.

Sadly Deluxe Paint had it right when they used pallet color rotation to create the effect of animation. The only downside of this is that the animation was limited to simple effects, but if all you are doing is some lighting and flares, this would work perfectly and would not change the size of the animation file.

Topic author
buggs_moran
Posts: 835
Joined: 27.09.2004
With us: 20 years 1 month
Location: Massachusetts, USA

Post #6by buggs_moran » 23.01.2006, 12:06

MKruer wrote:Right now, the inherent problem with any types of animation is that the size of the image then need to be replaced is overwhelming. Even if you are only changing a few pixels you are still effectively replacing the entire image for each frame, this is more or less how it works.

Sadly Deluxe Paint had it right when they used pallet color rotation to create the effect of animation. The only downside of this is that the animation was limited to simple effects, but if all you are doing is some lighting and flares, this would work perfectly and would not change the size of the animation file.


I still don't buy that modern graphics cards couldn't handle some basic animations with small sizes (256x256) within Celestia. How the heck do games do it? There are plenty of cyclical/repetitive motions that are not mesh related in games today. Half-Life 2 has full motion video overlayed on meshes with no hit to my video card (it's early in the game, I don't know why I buy them if I am not going to play them...) Maybe I should change my request to VIDEO in Celestia.

And, DELUXE PAINT!!! Holy 1983 Batman, my Commodore 64 had deluxe paint in it, I remember rotating palletes very well. Ah, the good old days.

Bottom line, I would try this myself, but I could never get Celestia to compile on my machine. It came up with numerous errors and I just got fed up. If I were going to toy with my idea, I would have to be able to compile... I will have to try again I suppose.

As for Frank's post: Those screensavers show basically what I am looking to do. Nothing rediculous. Just some geysers, flares, basically matter transfers. I know Chris mentioned the possibility of using sprites at one point (like the pts galaxies) But it all comes back to cyclical motion for me...
Homebrew:

WinXP Pro SP2

Asus A7N8X-E Deluxe

AMD Athlon XP 3000/333 2.16 GHz

1 GB Crucial RAM

80 GB WD SATA drive

ATI AIW 9600XT 128M


Return to “Development”