virtualx-engine/doc/classes/Light2D.xml
Hugo Locurcio b087538119
Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-03-16 23:01:02 +01:00

112 lines
6.3 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<class name="Light2D" inherits="Node2D" version="3.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
Casts light in a 2D environment.
</brief_description>
<description>
Casts light in a 2D environment. Light is defined by a (usually grayscale) texture, a color, an energy value, a mode (see constants), and various other parameters (range and shadows-related).
[b]Note:[/b] Light2D can also be used as a mask.
</description>
<tutorials>
<link>$DOCS_URL/tutorials/2d/2d_lights_and_shadows.html</link>
</tutorials>
<methods>
</methods>
<members>
<member name="color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )">
The Light2D's [Color].
</member>
<member name="editor_only" type="bool" setter="set_editor_only" getter="is_editor_only" default="false">
If [code]true[/code], Light2D will only appear when editing the scene.
</member>
<member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true">
If [code]true[/code], Light2D will emit light.
</member>
<member name="energy" type="float" setter="set_energy" getter="get_energy" default="1.0">
The Light2D's energy value. The larger the value, the stronger the light.
</member>
<member name="mode" type="int" setter="set_mode" getter="get_mode" enum="Light2D.Mode" default="0">
The Light2D's mode. See [enum Mode] constants for values.
</member>
<member name="offset" type="Vector2" setter="set_texture_offset" getter="get_texture_offset" default="Vector2( 0, 0 )">
The offset of the Light2D's [code]texture[/code].
</member>
<member name="range_height" type="float" setter="set_height" getter="get_height" default="0.0">
The height of the Light2D. Used with 2D normal mapping.
</member>
<member name="range_item_cull_mask" type="int" setter="set_item_cull_mask" getter="get_item_cull_mask" default="1">
The layer mask. Only objects with a matching mask will be affected by the Light2D.
</member>
<member name="range_layer_max" type="int" setter="set_layer_range_max" getter="get_layer_range_max" default="0">
Maximum layer value of objects that are affected by the Light2D.
</member>
<member name="range_layer_min" type="int" setter="set_layer_range_min" getter="get_layer_range_min" default="0">
Minimum layer value of objects that are affected by the Light2D.
</member>
<member name="range_z_max" type="int" setter="set_z_range_max" getter="get_z_range_max" default="1024">
Maximum [code]z[/code] value of objects that are affected by the Light2D.
</member>
<member name="range_z_min" type="int" setter="set_z_range_min" getter="get_z_range_min" default="-1024">
Minimum [code]z[/code] value of objects that are affected by the Light2D.
</member>
<member name="shadow_buffer_size" type="int" setter="set_shadow_buffer_size" getter="get_shadow_buffer_size" default="2048">
Shadow buffer size.
</member>
<member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color" default="Color( 0, 0, 0, 0 )">
[Color] of shadows cast by the Light2D.
</member>
<member name="shadow_enabled" type="bool" setter="set_shadow_enabled" getter="is_shadow_enabled" default="false">
If [code]true[/code], the Light2D will cast shadows.
</member>
<member name="shadow_filter" type="int" setter="set_shadow_filter" getter="get_shadow_filter" enum="Light2D.ShadowFilter" default="0">
Shadow filter type. See [enum ShadowFilter] for possible values.
</member>
<member name="shadow_filter_smooth" type="float" setter="set_shadow_smooth" getter="get_shadow_smooth" default="0.0">
Smoothing value for shadows.
</member>
<member name="shadow_gradient_length" type="float" setter="set_shadow_gradient_length" getter="get_shadow_gradient_length" default="0.0">
Smooth shadow gradient length.
</member>
<member name="shadow_item_cull_mask" type="int" setter="set_item_shadow_cull_mask" getter="get_item_shadow_cull_mask" default="1">
The shadow mask. Used with [LightOccluder2D] to cast shadows. Only occluders with a matching light mask will cast shadows.
</member>
<member name="texture" type="Texture" setter="set_texture" getter="get_texture">
[Texture] used for the Light2D's appearance.
</member>
<member name="texture_scale" type="float" setter="set_texture_scale" getter="get_texture_scale" default="1.0">
The [code]texture[/code]'s scale factor.
</member>
</members>
<constants>
<constant name="MODE_ADD" value="0" enum="Mode">
Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behavior of a light.
</constant>
<constant name="MODE_SUB" value="1" enum="Mode">
Subtracts the value of pixels corresponding to the Light2D to the values of pixels under it, resulting in inversed light effect.
</constant>
<constant name="MODE_MIX" value="2" enum="Mode">
Mix the value of pixels corresponding to the Light2D to the values of pixels under it by linear interpolation.
</constant>
<constant name="MODE_MASK" value="3" enum="Mode">
The light texture of the Light2D is used as a mask, hiding or revealing parts of the screen underneath depending on the value of each pixel of the light (mask) texture.
</constant>
<constant name="SHADOW_FILTER_NONE" value="0" enum="ShadowFilter">
No filter applies to the shadow map. See [member shadow_filter].
</constant>
<constant name="SHADOW_FILTER_PCF3" value="1" enum="ShadowFilter">
Percentage closer filtering (3 samples) applies to the shadow map. See [member shadow_filter].
</constant>
<constant name="SHADOW_FILTER_PCF5" value="2" enum="ShadowFilter">
Percentage closer filtering (5 samples) applies to the shadow map. See [member shadow_filter].
</constant>
<constant name="SHADOW_FILTER_PCF7" value="3" enum="ShadowFilter">
Percentage closer filtering (7 samples) applies to the shadow map. See [member shadow_filter].
</constant>
<constant name="SHADOW_FILTER_PCF9" value="4" enum="ShadowFilter">
Percentage closer filtering (9 samples) applies to the shadow map. See [member shadow_filter].
</constant>
<constant name="SHADOW_FILTER_PCF13" value="5" enum="ShadowFilter">
Percentage closer filtering (13 samples) applies to the shadow map. See [member shadow_filter].
</constant>
</constants>
</class>