Sky model

REDsdk provides a complete physically accurate sky model including:

This model is dynamically computed using real atmospherics and optics models and data. It is therefore fully parametrizable and can be used to produce a wide variety of sky conditions.

Sun rising in the earth's atmosphere as seen from space using our sky model.

Description of the model

The atmosphere composition in our model can be mainly described by two major components: air molecules and particles (aerosols). Air molecules are everywhere and are responsible of the blue shift of the sky color. Aerosols are mostly concentrated near the ground and are responsible for the haziness of the sky (kind of amount of fog).

A schematic view of the atmosphere in our model.

The amount of air molecules is kept constant to a real measured value, but the user has a full control over the amount of aerosols and how they interact with the light coming from the sun. The amount of aerosols present in the atmosphere is controlled by the value of the turbidity. In REDsdk, the turbidity value ranges from 0 to 100 where 0 means a perfectly clear blue sky and 100 stands for a dense, foggy sky.


Sun and sky produce images where intensities can be far above the displayable range of intensities. The use of a tone mapping operator is absolutely necessary to correctly display such images (see Tone mapping and Tonemapping explained for a details explanation of tone mapping concepts and operators). We recommend to use the RED::TMO_EXPOSURE tone mapping operator which is the closest to how human eye works. Gamma correction plays also a very important role in the restitution of correct colors.

The same sky rendered with three turbidity values: from left to right, 0, 10, 50. Note how the amount of particles influences the appearance of the solar disc and the overall colour of the sky.

Depending on the kind of aerosols present in the atmosphere, the light going through them can be either mainly absorbed or scattered. In the previous figure, aerosols were mainly scattering the incoming sun light towards the observer. REDsdk lets you define the amount if incoming sun light which is scattered by the aerosols (the remaining part is absorbed): it's called aerosols albedo. 1 means 100% of incoming light is scattered (reflected) and 0 means fully opaque aerosols (100% of incoming light is absorbed).

The same sky rendered with constant turbidity and three aerosols albedo values: from left to right, 0, 0.5, 0.8. Lower albedo values tend to produce a darker sky (due to more light absorption).

Finally, the asymmetry factor determines how much of the light scattered by the aerosols is scattered toward or backward the observer.

The same sky rendered with constant turbidity and three asymmetry factor values: from left to right, -1.0 (backward scattering), 0.0 (isotropic scattering), 1.0 (forward scattering).

The albedo of the earth can also be taken into account. It describes the amount of solar energy reaching the ground which is reflected back to the atmosphere and varies a lot with the constituents of the ground (sand, rock, snow, water...). The effect of the earth albedo is more prominent when the sun is at its zenith.

Renderings of a clear sky with, from left to right, earth's albedo set to 0% (no reflection) to 100% (full reflection).

As our sky model relies on real equations and is fully dynamic, effects of the setting or rising sun are logically reproduced just by changing the position of the sun.

Rising sun as seen from the ground level.


Accurate positions of sun and moon depending on location, date and time can be retrieved by calling RED::ISkyLightShape::SetSunLight and RED::ISkyLightShape::SetMoonLight respectively.