mirror of
https://github.com/godotengine/godot.git
synced 2024-12-15 10:12:40 +08:00
8b7c7f5a75
Adds a new, cleaned up, HashMap implementation. * Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing). * Keeps elements in a double linked list for simpler, ordered, iteration. * Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much for performance vs keeping the key, but helps replace old code). * Uses a more modern C++ iterator API, deprecates the old one. * Supports custom allocator (in case there is a wish to use a paged one). This class aims to unify all the associative template usage and replace it by this one: * Map<> (whereas key order does not matter, which is 99% of cases) * HashMap<> * OrderedHashMap<> * OAHashMap<>
33 lines
1.9 KiB
XML
33 lines
1.9 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="OmniLight3D" inherits="Light3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<brief_description>
|
|
Omnidirectional light, such as a light bulb or a candle.
|
|
</brief_description>
|
|
<description>
|
|
An Omnidirectional light is a type of [Light3D] that emits light in all directions. The light is attenuated by distance and this attenuation can be configured by changing its energy, radius, and attenuation parameters.
|
|
</description>
|
|
<tutorials>
|
|
<link title="3D lights and shadows">$DOCS_URL/tutorials/3d/lights_and_shadows.html</link>
|
|
</tutorials>
|
|
<members>
|
|
<member name="omni_attenuation" type="float" setter="set_param" getter="get_param" default="1.0">
|
|
The light's attenuation (drop-off) curve. A number of presets are available in the [b]Inspector[/b] by right-clicking the curve.
|
|
</member>
|
|
<member name="omni_range" type="float" setter="set_param" getter="get_param" default="5.0">
|
|
The light's radius. Note that the effectively lit area may appear to be smaller depending on the [member omni_attenuation] in use. No matter the [member omni_attenuation] in use, the light will never reach anything outside this radius.
|
|
</member>
|
|
<member name="omni_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="OmniLight3D.ShadowMode" default="1">
|
|
See [enum ShadowMode].
|
|
</member>
|
|
<member name="shadow_bias" type="float" setter="set_param" getter="get_param" overrides="Light3D" default="0.2" />
|
|
</members>
|
|
<constants>
|
|
<constant name="SHADOW_DUAL_PARABOLOID" value="0" enum="ShadowMode">
|
|
Shadows are rendered to a dual-paraboloid texture. Faster than [constant SHADOW_CUBE], but lower-quality.
|
|
</constant>
|
|
<constant name="SHADOW_CUBE" value="1" enum="ShadowMode">
|
|
Shadows are rendered to a cubemap. Slower than [constant SHADOW_DUAL_PARABOLOID], but higher-quality.
|
|
</constant>
|
|
</constants>
|
|
</class>
|