Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compensate PCSS kernel with depth range for directional lights #5441

Merged
merged 3 commits into from Jun 28, 2023

Conversation

GSterbrant
Copy link
Contributor

PCSS reacts differently based on scene size with directional lights. This PR fixes that by compensating the depth differences caused by a change in the depth range.

@GSterbrant GSterbrant added bug area: graphics Graphics related issue labels Jun 27, 2023
@GSterbrant GSterbrant self-assigned this Jun 27, 2023
@GSterbrant GSterbrant force-pushed the gsterbrant-pcss-directional-fixes branch from 6cd276b to 2616d1a Compare June 27, 2023 15:25
@@ -65,6 +65,9 @@ class LightRenderData {
// scissor rectangle for the shadow rendering to the texture (x, y, width, height)
this.shadowScissor = new Vec4(0, 0, 1, 1);

// depth range for cascaded shadows
this.depthRange = 0;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

src/scene/light.js Outdated Show resolved Hide resolved
@GSterbrant GSterbrant merged commit 1855a58 into main Jun 28, 2023
7 checks passed
@GSterbrant GSterbrant deleted the gsterbrant-pcss-directional-fixes branch June 28, 2023 07:16
mvaligursky pushed a commit that referenced this pull request Jun 30, 2023
* Compensate PCSS kernel with depth range for directional lights

* Copy depth range values to render data and initialize properly.

* Save only the depth range compensation we want in the light render data and submit directly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: graphics Graphics related issue bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants