Clouds generation

Published July 24, 2005
Advertisement
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:

0 likes 5 comments

Comments

paulecoyote
impressive lookin'
July 28, 2005 10:20 AM
Moses2k
Didn't you say something about the clouds, while planetside, being volumetric and mobile?
July 28, 2005 12:56 PM
Ysaneya
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.
July 28, 2005 05:23 PM
Moses2k
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? :\
July 28, 2005 11:23 PM
Ysaneya
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.
July 31, 2005 10:42 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement