Planetary cloud rendering

Started by
2 comments, last by Hawkblood 7 years, 10 months ago

In my current project, I am procedurally generating planets. I want the player to be able to land on the planets without a cut-scene or load screen. This would require me to have clouds that look convincing as the ship descends toward the planet. Also, needed is clouds in the atmosphere around the planet so that the player can view it at any angle (orbiting the planet). To sum up: I would like to have a fast way to simulate clouds that is convincing to the player.

I'm looking into several approaches, but would like to know if anyone has done this. Thanks in advance.

BTW: I have been looking at volumetric clouds, but it looks like I wouldn't be able to use it planet-wide.....

Advertisement

BTW: I have been looking at volumetric clouds, but it looks like I wouldn't be able to use it planet-wide.....

You typically want to combine at least two methods. Flat textured cloud maps at extreme distances (standing on ground looking up, looking down from orbit), with volumetric clouds for closeups (i.e. flying through the cloud layer). For performance and visual fidelity, you might also need an in-between level of detail, using billboarded impostors of volumetric clouds.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Way back in the MS Flight Sim days they had "cloud impostors" which is exactly what it sounds like, just like a normal impostor a 2d pre-computed plane of what the volumetric cloud looked like from afar.

That being said now there's actual volumetrics, and all you ever wanted to know is here: http://advances.realtimerendering.com/s2015/index.html

Since with the above (no less than 3 excellent papers) you're marching through a volume you're then concerned with volume marching samples, and not at all with LOD. The trick would be some way to skip as much space as possible and only march once you actually get to the "cloud" layer you want. Because it's per pixel otherwise cost would then be a relative constant.

WOW, Frenetic Pony. That's a lot to digest. Thanks! It will keep me busy for a while.

@swiftcoder : That's what I was thinking......

This topic is closed to new replies.

Advertisement