Light2D (original) (raw)

Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Checking the stable version of the documentation...

Inherits: Node2D < CanvasItem < Node < Object

Inherited By: DirectionalLight2D, PointLight2D

Casts light in a 2D environment.

Description

Casts light in a 2D environment. A light is defined as a color, an energy value, a mode (see constants), and various other parameters (range and shadows-related).

Tutorials

Properties

BlendMode blend_mode 0
Color color Color(1, 1, 1, 1)
bool editor_only false
bool enabled true
float energy 1.0
int range_item_cull_mask 1
int range_layer_max 0
int range_layer_min 0
int range_z_max 1024
int range_z_min -1024
Color shadow_color Color(0, 0, 0, 0)
bool shadow_enabled false
ShadowFilter shadow_filter 0
float shadow_filter_smooth 0.0
int shadow_item_cull_mask 1

Methods


Enumerations

enum ShadowFilter: 🔗

ShadowFilter SHADOW_FILTER_NONE = 0

No filter applies to the shadow map. This provides hard shadow edges and is the fastest to render. See shadow_filter.

ShadowFilter SHADOW_FILTER_PCF5 = 1

Percentage closer filtering (5 samples) applies to the shadow map. This is slower compared to hard shadow rendering. See shadow_filter.

ShadowFilter SHADOW_FILTER_PCF13 = 2

Percentage closer filtering (13 samples) applies to the shadow map. This is the slowest shadow filtering mode, and should be used sparingly. See shadow_filter.


enum BlendMode: 🔗

BlendMode BLEND_MODE_ADD = 0

Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behavior of a light.

BlendMode BLEND_MODE_SUB = 1

Subtracts the value of pixels corresponding to the Light2D to the values of pixels under it, resulting in inversed light effect.

BlendMode BLEND_MODE_MIX = 2

Mix the value of pixels corresponding to the Light2D to the values of pixels under it by linear interpolation.


Property Descriptions

BlendMode blend_mode = 0 🔗

The Light2D's blend mode. See BlendMode constants for values.


Color color = Color(1, 1, 1, 1) 🔗

The Light2D's Color.


bool editor_only = false 🔗

If true, Light2D will only appear when editing the scene.


bool enabled = true 🔗

If true, Light2D will emit light.


float energy = 1.0 🔗

The Light2D's energy value. The larger the value, the stronger the light.


int range_item_cull_mask = 1 🔗

The layer mask. Only objects with a matching CanvasItem.light_mask will be affected by the Light2D. See also shadow_item_cull_mask, which affects which objects can cast shadows.

Note: range_item_cull_mask is ignored by DirectionalLight2D, which will always light a 2D node regardless of the 2D node's CanvasItem.light_mask.


int range_layer_max = 0 🔗

Maximum layer value of objects that are affected by the Light2D.


int range_layer_min = 0 🔗

Minimum layer value of objects that are affected by the Light2D.


int range_z_max = 1024 🔗

Maximum z value of objects that are affected by the Light2D.


int range_z_min = -1024 🔗

Minimum z value of objects that are affected by the Light2D.


Color shadow_color = Color(0, 0, 0, 0) 🔗

Color of shadows cast by the Light2D.


bool shadow_enabled = false 🔗

If true, the Light2D will cast shadows.


ShadowFilter shadow_filter = 0 🔗

Shadow filter type. See ShadowFilter for possible values.


float shadow_filter_smooth = 0.0 🔗

Smoothing value for shadows. Higher values will result in softer shadows, at the cost of visible streaks that can appear in shadow rendering. shadow_filter_smooth only has an effect if shadow_filter is SHADOW_FILTER_PCF5 or SHADOW_FILTER_PCF13.


int shadow_item_cull_mask = 1 🔗

The shadow mask. Used with LightOccluder2D to cast shadows. Only occluders with a matching CanvasItem.light_mask will cast shadows. See also range_item_cull_mask, which affects which objects can receive the light.


Method Descriptions

float get_height() const 🔗

Returns the light's height, which is used in 2D normal mapping. See PointLight2D.height and DirectionalLight2D.height.


void set_height(height: float) 🔗

Sets the light's height, which is used in 2D normal mapping. See PointLight2D.height and DirectionalLight2D.height.