Improvements to SpotLight3D and OmniLight3D's shadows
OmniLight3D: * Fixed lack of precision in cube map mode by scaling the projection's znear. * Fixed aliasing issues by making the paraboloids use two square regions instead of two half squares. * Fixed shadowmap atlas bleeding by adding padding. * Fixed sihadow blur's inconsistent radius and unclamped sampling. SpotLight3D: * Fixed lack of precision by scaling the projection's znear. * Fixed normal biasing. Both: * Tweaked biasing to make sure it works out of the box in most situations.
This commit is contained in:
parent
8b6c168b3a
commit
55e7832d7b
12 changed files with 308 additions and 172 deletions
|
|
@ -61,7 +61,7 @@
|
|||
<member name="light_specular" type="float" setter="set_param" getter="get_param" default="0.5">
|
||||
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="shadow_bias" type="float" setter="set_param" getter="get_param" default="0.1">
|
||||
<member name="shadow_bias" type="float" setter="set_param" getter="get_param" default="0.2">
|
||||
Used to adjust shadow appearance. Too small a value results in self-shadowing ("shadow acne"), while too large a value causes shadows to separate from casters ("peter-panning"). Adjust as needed.
|
||||
</member>
|
||||
<member name="shadow_blur" type="float" setter="set_param" getter="get_param" default="1.0">
|
||||
|
|
@ -75,7 +75,7 @@
|
|||
</member>
|
||||
<member name="shadow_fog_fade" type="float" setter="set_param" getter="get_param" default="0.1">
|
||||
</member>
|
||||
<member name="shadow_normal_bias" type="float" setter="set_param" getter="get_param" default="2.0">
|
||||
<member name="shadow_normal_bias" type="float" setter="set_param" getter="get_param" default="1.0">
|
||||
Offsets the lookup into the shadow map by the object's normal. This can be used to reduce self-shadowing artifacts without using [member shadow_bias]. In practice, this value should be tweaked along with [member shadow_bias] to reduce artifacts as much as possible.
|
||||
</member>
|
||||
<member name="shadow_reverse_cull_face" type="bool" setter="set_shadow_reverse_cull_face" getter="get_shadow_reverse_cull_face" default="false">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue