Searching for the perfect place to call home. Not that it would matter, since I haven't been saving the seeds. It's nice to think that maybe someday I could fly my ship right down through one of these atmospheres, pitch a tent and spend a year exploring. It will be a happy day when I finally do implement seamless landing. Maybe in a year or two 🙂
Procedural Planet (Home?)
I think the last one is my favorite 🙂
I think Earth-like planets are pretty much done for now. Still need to fix the distortion in those clouds, though. Maybe add a little variation to the clouds as well.
A while ago I said I wasn't going to get caught up in planets. I lied. Oh well :/
Better scattering, better surface functions, better storage of textures (using cubemaps now instead of cylindrical maps for less distortion), better clouds, and finally some "real" bumpmapping via dynamic heightmap marching. Overall, pretty big improvement in visual appeal! Still needs more interesting/detailed color.
New Procedural Planets
The last one was after a half-day (morning) of work, now here's after a full day. Better scattering, better surface, and a bad attempt at clouds (they'll get better). Definitely the best so far! 🙂
Real-time Procedural Planet with Atmospheric Scattering
I swore that I wouldn't go to bed until I made a good-looking planet in ShaderToy. No complexity, no frills, no BS...just finding out what makes a planet look good. LT planets look pretty bad IMO.
Thankfully, I was successful. Not to say that this is the best-looking planet ever, or anything, but it's a definite improvement over my previous works. AND, I finally implemented "the real deal" atmospheric scattering, instead of the cheap hacks I've been using up to this point. It took many hours of staring at O'Neil's GPU gems article. In the end, I was able to simplify his implementation to about 13 lines and achieve good results. It's nice to finally have this technique under my belt 🙂
Real-time Planet with Atmospheric Scattering
Not sure yet if this level of quality will be achievable in-game yet...but given that it's running at 60FPS in just a pixel shader, I would say it will probably be fine 🙂
They turned out way better than I expected! 🙂
Terrestrial-like planets: solved?
Turns out it makes a pretty big difference...
I really don't want to spend all my time on planets, because I see how often these kinds of projects get wrapped up in planetary generation and then never come back...still, I guess I need to have good planets since pretty much everybody does procedural planets these days.
They're getting better, although I constrained them to looking "Earth-like" for now. I think instead of picking random colors like before, I'm going to have to constrain the generator to picking from a list of palettes that I will create, since some of the planets before just looked plain ugly...purple land and green water don't really go well together.
The lighting model still needs a lot of work. In particular, the bumps are too exaggerated (and actually based off of luminance instead of height), and the water does not react to light differently than the ground, which is a terrible thing. Nonetheless, it's a step forward!
I had a pretty exciting night with planet generation. I was trying to come up with some clever math hacks to circumvent having to use a 3D noise function, but in the end gave up and defaulted to the standard cylindrically-wrapped-3D-noise-texture approach. The results are very nice, but take too long (~6 seconds per planet). I've been working on a super fast Perlin implementation, but I don't know if it will be applicable to the 3D case (because of the insane amount of memory it would require). In all, I'm excited about these visuals, but concerned about how sustainable they are if I'm unable to come up with a way to cut down on the computation time.
I also took my shader from the recent scattering study and improved it a bit, resulting in what seems to be an appealing (although completely unrealistic) atmosphere.
At the very least, I seem to have finally nailed the proper color gradients for an attractive Earth-like planet.
Tonight I played around with planets. I just wanted to see if my 'stupid' version of fake scattering would work. Sure enough, it looks good! As you would expect, the atmosphere is a semitransparent sphere slightly larger than the planet. The math is completely fake, but it looks nice enough for me.
Red planet with blue atmosphere and color transitions:
Red planet with uniform blue atmosphere:
Red planet with green atmosphere: