DirectionalLight

Inherits: Light < VisualInstance < Spatial < Node < Object

Category: Core

Brief Description

Directional light from a distance, as from the Sun.

Properties

floatdirectional_shadow_bias_split_scale
booldirectional_shadow_blend_splits
ShadowDepthRangedirectional_shadow_depth_range
floatdirectional_shadow_max_distance
ShadowModedirectional_shadow_mode
floatdirectional_shadow_normal_bias
floatdirectional_shadow_split_1
floatdirectional_shadow_split_2
floatdirectional_shadow_split_3

Enumerations

enum ShadowMode:

  • SHADOW_ORTHOGONAL = 0 — Renders the entire scene’s shadow map from an orthogonal point of view. May result in blockier shadows on close objects.
  • SHADOW_PARALLEL_2_SPLITS = 1 — Splits the view frustum in 2 areas, each with its own shadow map.
  • SHADOW_PARALLEL_4_SPLITS = 2 — Splits the view frustum in 4 areas, each with its own shadow map.

enum ShadowDepthRange:

  • SHADOW_DEPTH_RANGE_STABLE = 0 — Keeps the shadow stable when the camera moves, at the cost of lower effective shadow resolution. Default value.
  • SHADOW_DEPTH_RANGE_OPTIMIZED = 1 — Tries to achieve maximum shadow resolution. May result in saw effect on shadow edges.

Description

A directional light is a type of Light node that models an infinite number of parallel rays covering the entire scene. It is used for lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldspace location of the DirectionalLight transform (origin) is ignored. Only the basis is used do determine light direction.

Tutorials

Property Descriptions

  • float directional_shadow_bias_split_scale
Setterset_param(value)
Getterget_param()

Amount of extra bias for shadow splits that are far away. If self shadowing occurs only on the splits far away, this value can fix them.


  • bool directional_shadow_blend_splits
Setterset_blend_splits(value)
Getteris_blend_splits_enabled()

If true, shadow detail is sacrificed in exchange for smoother transitions between splits. Default value:false.


Setterset_shadow_depth_range(value)
Getterget_shadow_depth_range()

Optimizes shadow rendering for detail versus movement. See ShadowDepthRange.


  • float directional_shadow_max_distance
Setterset_param(value)
Getterget_param()

The maximum distance for shadow splits.


Setterset_shadow_mode(value)
Getterget_shadow_mode()

The light’s shadow rendering algorithm. See ShadowMode.


  • float directional_shadow_normal_bias
Setterset_param(value)
Getterget_param()

Can be used to fix special cases of self shadowing when objects are perpendicular to the light.


  • float directional_shadow_split_1
Setterset_param(value)
Getterget_param()

The distance from camera to shadow split 1. Relative to directional_shadow_max_distance. Only used when directional_shadow_mode is one of the SHADOW_PARALLEL_*_SPLITS constants.


  • float directional_shadow_split_2
Setterset_param(value)
Getterget_param()

The distance from shadow split 1 to split 2. Relative to directional_shadow_max_distance. Only used when directional_shadow_mode is SHADOW_PARALLEL_3_SPLITS or SHADOW_PARALLEL_4_SPLITS.


  • float directional_shadow_split_3
Setterset_param(value)
Getterget_param()

The distance from shadow split 2 to split 3. Relative to directional_shadow_max_distance. Only used when directional_shadow_mode is SHADOW_PARALLEL_4_SPLITS.