Merge pull request #83917 from Calinou/directionallight3d-add-specular

Implement per-light Specular property in DirectionalLight3D
This commit is contained in:
Rémi Verschelde 2024-12-17 16:18:29 +01:00
commit d701bc0032
No known key found for this signature in database
GPG key ID: C3336907360768E1
7 changed files with 9 additions and 6 deletions

View file

@ -98,7 +98,7 @@
[b]Note:[/b] [member light_size] is not affected by [member Node3D.scale] (the light's scale or its parent's scale).
[b]Note:[/b] PCSS for positional lights is only supported in the Forward+ and Mobile rendering methods, not Compatibility.
</member>
<member name="light_specular" type="float" setter="set_param" getter="get_param" default="0.5">
<member name="light_specular" type="float" setter="set_param" getter="get_param" default="1.0">
The intensity of the specular blob in objects affected by the light. At [code]0[/code], the light becomes a pure diffuse light. When not baking emission, this can be used to avoid unrealistic reflections when placing lights above an emissive surface.
</member>
<member name="light_temperature" type="float" setter="set_temperature" getter="get_temperature">

View file

@ -13,6 +13,7 @@
<link title="Faking global illumination">$DOCS_URL/tutorials/3d/global_illumination/faking_global_illumination.html</link>
</tutorials>
<members>
<member name="light_specular" type="float" setter="set_param" getter="get_param" overrides="Light3D" default="0.5" />
<member name="omni_attenuation" type="float" setter="set_param" getter="get_param" default="1.0">
Controls the distance attenuation function for omnilights.
A value of [code]0.0[/code] will maintain a constant brightness through most of the range, but smoothly attenuate the light at the edge of the range. Use a value of [code]2.0[/code] for physically accurate lights as it results in the proper inverse square attenutation.

View file

@ -14,6 +14,7 @@
<link title="Third Person Shooter (TPS) Demo">https://godotengine.org/asset-library/asset/2710</link>
</tutorials>
<members>
<member name="light_specular" type="float" setter="set_param" getter="get_param" overrides="Light3D" default="0.5" />
<member name="shadow_bias" type="float" setter="set_param" getter="get_param" overrides="Light3D" default="0.03" />
<member name="shadow_normal_bias" type="float" setter="set_param" getter="get_param" overrides="Light3D" default="1.0" />
<member name="spot_angle" type="float" setter="set_param" getter="get_param" default="45.0">