- Increase DirectionalLight3D normal bias to 2.0 to reduce shadow acne
at grazing angles.
- Decrease OmniLight3D bias to 0.1 to reduce shadow peter-panning.
High attenuation values will negatively impact performance for 2 reasons:
- The light won't be culled as often.
- The light will cover more pixels, which have to be shaded individually.
Therefore, lower attenuation values (with a lower range to compensate)
should be preferred whenever possible.
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.
* Simplified code a lot, bias based on normalized cascade size.
* Lets scale cascades, max distance, etc. without creating acne.
* Fixed normal biasing in directional shadows.
I removed normal biasing in both omni and spot shadows, since the technique can't be easily implemented there.
Will need to be replaced by something else.