Animated virtual textures

Discussion forum for Celestia developers; topics may only be started by members of the developers group, but anyone can post replies.
Topic author
Toti
Developer
Posts: 338
Joined: 10.02.2004
With us: 20 years 9 months

Animated virtual textures

Post #1by Toti » 21.01.2008, 22:09

As an experiment, I implemented animated virtual textures for Celestia (in fact, this also works with "common" textures).

Here's a short video in (.ogg, ~12 MB, ~1.5 min length) showing full seasonal coverage for the whole Earth.

http://www.sendspace.com/file/d89kep

Some possible uses:
*Depiction of seasonal surface changes
*Geological phenomena (e.g. Io)
*More realistic cloud dynamics (also, Jupiter)
*Historical evolution of planetary cartography (knowledge masks), night lights, etc.
*Dynamics in overlay images (e.g. variations is chlorophyll or ozone levels, etc.)

Avatar
Cham M
Posts: 4324
Joined: 14.01.2004
Age: 60
With us: 20 years 10 months
Location: Montreal

Post #2by Cham » 21.01.2008, 22:18

Toti,

this is very nice ! I'm curious to know how you made this.

EDIT : Actually, this is absolutly extraordinary ! 8O I now see many possibilities with this ! Is there a chance it could be added to 1.5.0 ? Or is this for 1.5.1 ?? Can't wait to try out this feature.

How is the time frame working ? Is it cyclic (periodic) ? Or just defined between two dates ? We also need it to be periodic without boundaries.
"Well! I've often seen a cat without a grin", thought Alice; "but a grin without a cat! It's the most curious thing I ever saw in all my life!"

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Post #3by cartrite » 21.01.2008, 22:31

Toti,
This is really cool!! :D . This done by code? Lua?
8O 8O
cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4

chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Post #4by chris » 21.01.2008, 22:49

That looks very nice Toti. What does the ssc file look like?

--Chris

Topic author
Toti
Developer
Posts: 338
Joined: 10.02.2004
With us: 20 years 9 months

Post #5by Toti » 21.01.2008, 22:58

This is coded within Celestia's core (C++). Most of the work is done by OpenGL using hardware acceleration.
Here's how an animated texture is declared, just expanding the usual texture definition:

Code: Select all

Modify "Earth" "Sol"
{
    # An animated albedo map spanning one year,
    # showing Earth's surface changes across seasons:
    Texture {
              Interpolate true
              Cycle       true
              Beginning   2446482.0
              Frames      ["seasons/january.*"
                           "seasons/february.*"
                           "seasons/march.*"
                           "seasons/april.*"
                           "seasons/may.*"
                           "seasons/june.*"
                           "seasons/july.*"
                           "seasons/august.*"
                           "seasons/september.*"
                           "seasons/october.*"
                           "seasons/november.*"
                           "seasons/december.*"]
              Durations    [31 28 31 30 31 30 31 31 29 31 30 29]
    }
}


This is highly experimental for now. There is plenty of work yet to be done, so I don't have any release date estimate.

Avatar
Cham M
Posts: 4324
Joined: 14.01.2004
Age: 60
With us: 20 years 10 months
Location: Montreal

Post #6by Cham » 21.01.2008, 23:02

Toti,

this work is extraordinary ! I love the way the SSC definitions are declared : they are simple and perfectly clear.

What else do you need to work on, before releasing that awesome code ? Looks like finished ! Optimisation ?
"Well! I've often seen a cat without a grin", thought Alice; "but a grin without a cat! It's the most curious thing I ever saw in all my life!"

chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Post #7by chris » 21.01.2008, 23:08

Cham wrote:Toti,

this work is extraordinary ! I love the way the SSC definitions are declared : they are simple and perfectly clear.

What else do you need to work on, before releasing that awesome code ? Looks like finished ! Optimisation ?


For one thing, I'm guessing that the interpolation doesn't work in the OpenGL 2.0 path yet. Second, there needs to be a discussion about the expression within an SSC file: should it work for any texture, do frames in an animation have to be of identical size, etc. This is a great feature, but not one for 1.5.0.

--Chris

Avatar
Cham M
Posts: 4324
Joined: 14.01.2004
Age: 60
With us: 20 years 10 months
Location: Montreal

Post #8by Cham » 21.01.2008, 23:15

1- Is this technique working under any rendering path ?

2- Is it working on an asteroid or comet model too ?

3- Apparently, from the SSC example, it is periodic without any time boundary ?

4- Can it be applied on a billboard too ? (I guess not).
"Well! I've often seen a cat without a grin", thought Alice; "but a grin without a cat! It's the most curious thing I ever saw in all my life!"

ajtribick
Developer
Posts: 1855
Joined: 11.08.2003
With us: 21 years 3 months

Post #9by ajtribick » 21.01.2008, 23:40

Oh, the possibilities of interesting add-ons based on eccentric planets... would be good to be able to even approximate something like these.

One concern I see with the format is that the durations should perhaps either be fractions of the orbital period, or in the same units as orbital period, but messingn around with that is presumably a low priority right now...

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

Post #10by MKruer » 22.01.2008, 06:49

Awesome. I would love to see Jupiter done like this.

tech2000
Posts: 258
Joined: 14.02.2006
Age: 52
With us: 18 years 9 months
Location: Skepplanda, Sweden

Post #11by tech2000 » 22.01.2008, 07:58

Very cool, melike it alot...

Topic author
Toti
Developer
Posts: 338
Joined: 10.02.2004
With us: 20 years 9 months

Post #12by Toti » 22.01.2008, 16:26

chris wrote:This is a great feature, but not one for 1.5.0.

I agree.

ElChristou
Developer
Posts: 3776
Joined: 04.02.2005
With us: 19 years 9 months

Post #13by ElChristou » 23.01.2008, 08:12

Excellent!!
Image

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

Post #14by buggs_moran » 23.01.2008, 11:30

Fantastic. An old wish potentially realized http://celestiaproject.net/forum/viewtopic.php?t=8712

I see the word "cycle" in there Toti! I could realize the gas stream in my binary systems with this. Can't wait to play.
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

bdm
Posts: 461
Joined: 22.07.2005
With us: 19 years 4 months
Location: Australia

Post #15by bdm » 23.01.2008, 23:12

The cycle length needs a clearer method of being defined. At present, the cycle length is not defined directly, but must instead be found by adding up all the numbers. Also, the frame definition is separated from the duration of each frame. Both of these make maintenance more difficult. If the length of the cycle has to be changed, the user must modify the values separately, check them with a calculator, etc. This is time-consuming and error-prone.

I would suggest that the definition be as follows:

Code: Select all

Texture
{
              Interpolate true
              Cycle       true
              Beginning   2446482.0
              Duration     365.24219
              Frames      ["seasons/january.*" 1
                           "seasons/february.*" 1
                           "seasons/march.*" 1
                           "seasons/april.*" 1
                           "seasons/may.*" 1
                           "seasons/june.*" 1
                           "seasons/july.*" 1
                           "seasons/august.*" 1
                           "seasons/september.*" 1
                           "seasons/october.*" 1
                           "seasons/november.*" 1
                           "seasons/december.*" 1]
    }

Here, the length of each frame is encoded with the frame filename, and the length is given as a proportion of the whole. The cycle length is defined separately which makes it easier to see and to modify the length of a cycle as a whole.

chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Post #16by chris » 23.01.2008, 23:21

ajtribick wrote:Oh, the possibilities of interesting add-ons based on eccentric planets... would be good to be able to even approximate something like these.

One concern I see with the format is that the durations should perhaps either be fractions of the orbital period, or in the same units as orbital period, but messingn around with that is presumably a low priority right now...


This would be great. When I saw this post, the exoplanet atmosphere simulations from oklo.org were my first thought too.

--Chris

happywoman50
Posts: 1
Joined: 31.07.2008
With us: 16 years 3 months

Re: Animated virtual textures

Post #17by happywoman50 » 01.08.2008, 11:00

by Toti
Here's a short video in (.ogg, ~12 MB, ~1.5 min length) showing full seasonal coverage for the whole Earth.

www sendspace.com/file/d89kep.

This link doesn’t work. I receive the following message “Sorry, the file you requested is not available.”
Ann, you can visit my home page here

Avatar
Hungry4info
Posts: 1133
Joined: 11.09.2005
With us: 19 years 2 months
Location: Indiana, United States

Re: Animated virtual textures

Post #18by Hungry4info » 01.08.2008, 15:04

happywoman50 wrote:This link doesn’t work. I receive the following message “Sorry, the file you requested is not available.”

I get the same thing o_O
Current Setup:
Windows 7 64 bit. Celestia 1.6.0.
AMD Athlon Processor, 1.6 Ghz, 3 Gb RAM
ATI Radeon HD 3200 Graphics

conj
Posts: 13
Joined: 19.07.2007
With us: 17 years 4 months
Location: England, United Kingdom

Re: Animated virtual textures

Post #19by conj » 29.08.2008, 18:07

same. i want to see the animation... :(
Image

Avatar
cartrite
Posts: 1978
Joined: 15.09.2005
With us: 19 years 2 months
Location: Pocono Mountains, Pennsylvania, USA Greate Grandfother from Irshava, Zakarpattia Oblast Ukraine

Re: Animated virtual textures

Post #20by cartrite » 05.12.2008, 11:52

This may be premature but I found this to be interesting for possible 1.7 developement. I also posted these links at CM but the thread never got a reply.
I've been using some software called hdflook to process MODIS images. I've been in contact with the authors of this software and Louis Gonzalez expressed some interest in collaborating with Celestia in doing some possible animations. They have data in 8 day intervals from 2006 that is very similar to the BMNG series.
http://loafds.univ-lille1.fr/cgi-bin/Fo ... i?langue=1
Here is an animation he did from South America showing some land being cleared.
http://loaamma.univ-lille1.fr/Movies/LOUIS/Fh12v11.html
If this data can be made available in full global data sets, it would make for much smoother animation than the monthly BMNG texture data. It is in 8 day intervals instead of 30 day.
cartrite
VivoBook_ASUSLaptop X712JA_S712JA Intel(R) UHD Graphics 8gb ram. Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz, 1190 Mhz, 4 Core(s), 8 Logical Processor(s) 8 GB ram. Running on Windows 11 and OpenSuse 15.4


Return to “Ideas & News”