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?
Procedural texture generation in Celestia?
- John Van Vliet
- Posts: 2944
- Joined: 28.08.2002
- With us: 22 years 2 months
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
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
- Anthony_B_Russo10
- Moderator
- Posts: 672
- Joined: 03.07.2018
- Age: 21
- With us: 6 years 4 months
- Location: Tallahassee, Florida, US
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.
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.
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.
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.
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.
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.
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!
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?
- Anthony_B_Russo10
- Moderator
- Posts: 672
- Joined: 03.07.2018
- Age: 21
- With us: 6 years 4 months
- Location: Tallahassee, Florida, US
Cheap $99 wallmart laptops.john71 wrote:But come on, it is 2021. What is a lower-end computer? Pentium 66mhz?
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.
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.
- John Van Vliet
- Posts: 2944
- Joined: 28.08.2002
- With us: 22 years 2 months