This page has been translated automatically.
The Language
Core Library
Engine Library
Node-Related Classes
GUI-Related Classes
Plugins Library
High-Level Systems
API Reference
Integration Samples
Usage Examples
C++ Plugins
Content Creation
Unigine Material Library
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

World Light Source

The natural-looking outdoor scene is unimaginable without the soft and globally distributed lighting. The real sunlight is characterised by the light rays fall more or less parallel to each other. Point sources are not appropriate for this purpose as they can only provide the perspective projection. World light represent infinitely remote light source casting orthographically projected beams onto the scene. The physical position of the source is of no importance, only the direction matters, as it defines the shadow casting orientation.


The world light source has the following specific features:


Light Scattering

Realistic atmospheric scattering is one of the nuances, having tremendous impact on the visual convincingness. The atmosphere is filled with small particles (such as dust, water or ice crystals) that scatter and absorb light. This phenomenon is known as atmospheric scattering. It is responsible for changing the sunlight from the pale red at dawn to bright yellow at noon and back again. It also determines the color of the sky and gradual attenuation of distant objects. All these visual effects differ depending on the atmospheric conditions, air pollution and other factors. It should be taken into account, that while the minor variances are intuitively deemed natural, presenting some alien planet should aim for scattering parameters significantly dissimilar to the Earth's ones. They can be adjusted on the Scattering tab of Render settings.


As the world light source is designed to illuminate really large spaces, usage of the usual shadow map is memory-ineffective. The parallel-split shadow mapping technique substantially optimizes the generation of shadows casted by this source. For more detailed information refer to the PSSM article.


A credible scene requires setting the appropriate range for the shadow-casting geometry (see the article about PSSM). To estimate the needed value, orient on the highest objects included in the scene. Otherwise, when out of view but still near-standing, they are excepted by rendering shadows and mess up the anticipated scene shadowing pattern.

Shadow range


Subdividing a scene surface into splits with different shadow maps is the essence of PSSM method improvement. Each split requires a separate rendering pass. All the split maps have the same resolution corresponding to the map size parameter, but are applied to different areas. Thus, close-range shadows are of higher quality and distant ones of lower.

  • Defining only one shadow split results in having fuzzy and on the whole hardly satisfactory shadows. Load on video card memory is minimal, however.
  • The maximum of four splits contributes to the both visually expressive and performance efficient shadowing and enhances the rendered image quality, though rendered in four passes.

Shadow splits

To visualize the current splits check the Render splits box on the Show tab of Tools settings.


The shadow splits distribution allows to accurately adapt the quality of the shadows depending on their remoteness from the viewer. The redistribution is performed within the available shadow distance specified in Render settings.

  • Decreasing the value generates splits that are smaller, more compact positioned and cover less distance. But at the same time, the resulting shadows are of a higher quality.
  • Increasing the value ensures the larger splits with broader coverage of the area. Yet the side effect of the shadow quality deterioration should be kept in view.

See also

Last update: 2017-07-03
Build: ()