Procedural texture generation in Celestia?

Discussion forum for Celestia developers; topics may only be started by members of the developers group, but anyone can post replies.
Topic author
john71
Posts: 1009
Joined: 10.08.2016
With us: 8 years 3 months

Procedural texture generation in Celestia?

Post #1by john71 » 13.02.2021, 08:07

I think a future Celestia 1.8 or 2.0 should generate 4k textures randomly "on the fly". Obviously unknown moons, asteroids, comets and exoplanets are VERY boring and there are open source texture generator codes out there...Maybe even meshes can be generated randomly...

What do you think?

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 2 months

Post #2by John Van Vliet » 13.02.2021, 13:34

the main issue with this is the time needed to " on the fly" create the textures

for example each of my 4k textures ( well done in Blender)
texture
Heightmap( displacement)
Cloudmap

takes 5 to 15 seconds to render for a 4k map

8 and 16k maps take a LOT longer and this is with a high end nvidia card and 64 gig ram

now simpler noise textures could be done in near real time but the results are not that great

Topic author
john71
Posts: 1009
Joined: 10.08.2016
With us: 8 years 3 months

Post #3by john71 » 13.02.2021, 14:11

What about randomly merging textures from a collection? Randomly coloring them? :think: That would be much faster.

Avatar
Anthony_B_Russo10
Moderator
Posts: 672
Joined: 03.07.2018
Age: 21
With us: 6 years 4 months
Location: Tallahassee, Florida, US

Post #4by Anthony_B_Russo10 » 13.02.2021, 23:27

We would also have to consider the amount of time it would take to develop something like this with are lack of Devs and how much weight in Megabytes this would add to the program. Plus, I doubt the devs would add something like this with the current number of devs.
Anthony B. Russo, I like Pluto. Mod of the Celestia subreddit: https://www.reddit.com/r/Celestiasoftware/
I have over 40 computers, trying to list them here would be a pain.
Responsible for the NEO catalog: https://celestiaproject.space/forum/viewtopic.php?f=23&t=22203
And mod of the Discord server.

Topic author
john71
Posts: 1009
Joined: 10.08.2016
With us: 8 years 3 months

Post #5by john71 » 14.02.2021, 07:10

I understand that, but there are simple solutions too.

If we have 20 ready "base" 4k textures in every category (asteroid, comet, earthlike exo, gas giant exo etc.), you can change, mix, mirror, transform, deform, color them randomly, you can change saturation and contrast within Celestia.

That's much-much easier than to have a real procedural texture generator, but the results would be spectacular in my opinion.

Topic author
john71
Posts: 1009
Joined: 10.08.2016
With us: 8 years 3 months

Post #6by john71 » 15.02.2021, 09:38

These commands would be very nice in my opinion when we are making an ssc file:

RandomTexture "exogas or exoearth or exomoon or asteroid or comet"

It would choose a texture from the pre-made collection of procedural textures EVERY TIME Celestia starts.

RandomTexturePermanent "exogas or exoearth or exomoon or asteroid or comet"

It would stick to the first random value and would write it in the ssc file, under

RandomDataBuffer

........
........

at the end of the ssc file.

RandomColor, RandomSaturation, RandomContrast, RandomChroma "exogas or exoearth or exomoon or asteroid or comet"

+ RandomColorPermanent etc.

would randomly or the first time randomly set the texture's properties.

Potentially the RandomMerge, RandomTransform (+Permanent) command can be useful too.

These would merge two or more textures or transform them (mirror, deform etc.).

RandomCMOD command would rewrite (transform) the cmod file every time, the RandomCMODPermanent would do this only the first time the ssc file is in use.

Avatar
fyr02
Posts: 249
Joined: 19.04.2019
Age: 19
With us: 5 years 7 months
Location: San Diego, California (United States)

Post #7by fyr02 » 16.02.2021, 03:16

Yes, the problem with this is that it just means we have to find more textures.
In addition, this may present a problem for the lower-end computers, so this may not be viable
Image

Topic author
john71
Posts: 1009
Joined: 10.08.2016
With us: 8 years 3 months

Post #8by john71 » 16.02.2021, 08:06

fyr02 wrote:it just means we have to find more textures

I think it is much easier to make or collect 20 procedural textures than to implement a procedural engine like the one SpaceEngine is using.

JohnVV can produce procedural textures. I'm sure he can produce 20...if we ask him politely! :think:

Added after 32 minutes 16 seconds:
fyr02 wrote:In addition, this may present a problem for the lower-end computers, so this may not be viable

I think lower-end computers can't handle 128k VTs, so should we delete that part of the Celestia code?

Obviously no, we should not.

If you can't use the random engine, then don't use it.

But come on, it is 2021. What is a lower-end computer? Pentium 66mhz?

Avatar
Anthony_B_Russo10
Moderator
Posts: 672
Joined: 03.07.2018
Age: 21
With us: 6 years 4 months
Location: Tallahassee, Florida, US

Post #9by Anthony_B_Russo10 » 16.02.2021, 12:26

john71 wrote:But come on, it is 2021. What is a lower-end computer? Pentium 66mhz?
Cheap $99 wallmart laptops.
Anthony B. Russo, I like Pluto. Mod of the Celestia subreddit: https://www.reddit.com/r/Celestiasoftware/
I have over 40 computers, trying to list them here would be a pain.
Responsible for the NEO catalog: https://celestiaproject.space/forum/viewtopic.php?f=23&t=22203
And mod of the Discord server.

Avatar
gironde M
Posts: 851
Joined: 16.12.2016
Age: 72
With us: 7 years 11 months
Location: Montigny-Les-Metz, France

Post #10by gironde » 16.02.2021, 14:54

john71 wrote:
What is a lower-end computer? Pentium 66mhz?

ENIAC in 1945 :smile: :smile: :smile:

Personally, I recently have 1 Asus X509J, Intel (R) Core (TM) i3-1005G1 CPU @ 1.20GHz 1.19 GHz, 2x250Go SSD, shared video memory and I already have problems with large xyzv files. So I am wary of large textures.
:think:

Avatar
John Van Vliet
Posts: 2944
Joined: 28.08.2002
With us: 22 years 2 months

Post #11by John Van Vliet » 16.02.2021, 16:53

JohnVV can produce procedural textures. I'm sure he can produce 20...if we ask him politely!


i already did for CelestiaSCI

mostly gas giants but some earthlike , Venuslike,and marslike


Return to “Ideas & News”