Page 1 of 1
Procedural texture generation in Celestia?
Posted: 13.02.2021, 08:07
by john71
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?
Posted: 13.02.2021, 13:34
by John Van Vliet
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
Posted: 13.02.2021, 14:11
by john71
What about randomly merging textures from a collection? Randomly coloring them?
That would be much faster.
Posted: 13.02.2021, 23:27
by Anthony_B_Russo10
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.
Posted: 14.02.2021, 07:10
by john71
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.
Posted: 15.02.2021, 09:38
by john71
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.
Posted: 16.02.2021, 03:16
by fyr02
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
Posted: 16.02.2021, 08:06
by john71
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?
Posted: 16.02.2021, 12:26
by Anthony_B_Russo10
john71 wrote:But come on, it is 2021. What is a lower-end computer? Pentium 66mhz?
Cheap $99 wallmart laptops.
Posted: 16.02.2021, 14:54
by gironde
john71 wrote:
What is a lower-end computer? Pentium 66mhz?
ENIAC in 1945
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.
Posted: 16.02.2021, 16:53
by John Van Vliet
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