• entries
232
1463
• views
960675

# Clouds generation

417 views

I'm now working on generating textures for planets, at a global scale level (ie, the textures you see from space).

I just finished a short experimentation with clouds, and i like the result. I am combining two distorted fBm noise functions. A distorted fBm function is like your standard fBm, but instead of using Perlin noise for its basis, it uses distorted Perlin noise. It looks like this:

TFloat CNoise::distNoise(const SVec3D& pos, const TFloat distortion){	return(noise(pos + distortion * vecNoise(pos + 0.5f)));}SVec3D CNoise::vecNoise(const SVec3D& pos){	SVec3D res;	res.x = noise(pos);	res.y = noise(pos + 3.33f);	res.z = noise(pos + 7.77f);	return res;}

Here is an image of the resulting clouds:

impressive lookin'

Didn't you say something about the clouds, while planetside, being volumetric and mobile?

Indeed, but you cannot have volumetric clouds on the whole planet - that'd mean billions of particles to render.

Instead i'll be mixing two techniques: a texture, mapped onto the sphere, when the clouds are seen from high distances/altitudes. When the camera is closer to a cloud, it will switch smoothly to the volumetric rendering.

Here i am speaking of generating the cloud textures at the planet scale.

I will also try to take into account the Coriolis force.

Of course. :)

So, is there any way you can think of, as to how to implement caves and building/starship interiors into your engine? Could each building/starship have a separate internal model that would be loaded and attached to the exterior model if needed, with some sort of portaling for doors/windows? Do you understand what I'm saying? :/ For caves, is there any system you could suggest? Fractal/random spidery 3D line drawing with cave walls at normalized random distances from the centerline?

Do you have any thoughts on this? :\

Implementing indoor areas (sharships, buildings) is pretty simple. My engine is not a pure terrain engine, it's a general engine with a specific plugin to support massive, planetary terrains. Other than that, it supports rendering of 3D meshes with shader effects. All you'd have to do is to make a mesh for the building and place it in the scene.

It doesn't support portals/PVS at the moment, but it's on my todo list, just as lightmapping and LOD (i'll be working on LOD very soo).

As for caves, the standard approach would work fine i think (just like Far Cry). Use a specific mesh for the cave/mountain, and place it over the terrain.

## Create an account

Register a new account