The software is made from multiple components.
Volumetrics render engine component simulates the propagation and scattering of light in atmosphere, clouds, and on surfaces (landscape or ocean). Render engine have subcomponents, functions of which would be too long and technical to describe here. On most basic level, render engine calculates the brightness and/or transparency values along the line of sight, from the optical properties of scene, and the lighting. Other components listed below are connected to the Volumetrics render engine to construct a scene.
Cloud and atmosphere parameter components provide optical properties of atmosphere at any point in space on deman, along with some additional information used to accelerate rendering. When using multiple clond and atmosphere objects, optical effect is combined.
Surface shaper components provide some value in space which is greater than 0 outside the surface and less than 0 inside surface. This value is used by render engine to find collisions of light with surface.
Surface parameter components provide optical properties of surface.
Control and interfacing component processes the command-line, reads parameter and scene files, camera pathe for animation, layering data for composition. Then it does the coordinate conversion if necessary, sets up all other components for the rendering, manages the animation rendering and handles the output (writes rendered images, logs, statistics, ...)