The cloud is generated by subdividing the space in eight equal parts, called octants, in each level of a recursive interaction. A certain random quantity of matter is transferred from one octant to the other. Each of the octants is subdivided again and the same procedure is performed. This process repeats until the last level is reached. At this level a gaussian attenuation, with maximum value in the middle of the volume, is applied to the quantity of matter inside the voxel. This is used to give the cloud a more natural "round" shape. The voxel volume dimensions are necessarily powers of 2, but they have no need to be equal

After the fractal voxel volume containing the cloud is produced as described above, a multi-spectral version of the cloud is generated. In this format, each wavelength will have 2 voxel volumes: one containing the attenuation and the other the radiance for each one of the voxels according to the wavelength. If the sun illuminates the cloud, the radiance grid is produced, otherwise it is ignored.

The cloud illumination is a phenomenon very complex to simulate because of the diffusion. Diffuse reflection, specular reflection and diffraction can no more be calculated separately as normally done in computer graphics. All these phenomena are mixed in the diffusion, since the concept of surface and normal vectors cannot be exactly defined. To accelerate the process I approximate the diffusion phenomenon through a series of curves derived from simulations using LOWTRAN. These curves give the behavior of the attenuation and radiance for different wavelengths. Then, for each voxel, a ray is shot in the sun direction, taking in consideration the attenuation (the attenuation grid is calculated before the radiance grid) in each traversed voxel, to determine the final radiance in the voxel.

Some examples of clouds produced in this way can be found below.

Atmospheric clouds

Here I show two views of the same cloud slightly shifted one from the other.

Angle of 45 degrees
Angle of 30 degrees
Cloud applied in a scene

The same cloud applied to a scene and rendered in the visible spectrum. The same images could also be generated for any spectrum, particularly in infrared band II and band III..


Plumes are the hot exhaustion gases coming out of jets and missiles. They are not generated by a fractal approach as the atmospheric clouds described above.

This plume was generated in a voxel volume using two gaussians to create the radiance and the attenuation grids. It was rendered in infrared band II spectrum.