Skip to content

Conversation

@Mugen87
Copy link
Collaborator

@Mugen87 Mugen87 commented Sep 10, 2025

Related issue: #31839

Description

The PR fixes a wrong bitfield typecast that was responsible for the wrong AO. With this fix, the PI2 fix from #31867 is not required anymore and the AO looks more correct now.

This also fixes the deviations between the WebGPU and WebGL backend.

/ping @zalo

For comparison:

Dev: https://rawcdn.githack.com/mrdoob/three.js/bface43c1da1bb4c3f14b8353b8cee8a62cf8b1f/examples/webgpu_postprocessing_ssgi.html

PR: https://rawcdn.githack.com/mrdoob/three.js/98bad00d64693d7fef86523be915e2bd5096ec70/examples/webgpu_postprocessing_ssgi.html

@Mugen87 Mugen87 added this to the r181 milestone Sep 10, 2025
@Mugen87 Mugen87 merged commit 77cc698 into mrdoob:dev Sep 10, 2025
8 checks passed
@hybridherbst
Copy link
Contributor

I checked out the new demo link and it seams that the "temporal filtering" toggle currently only turns off the temporal shift in noise pattern. Even with the option off I still see temporal "smearing" (very noticeable on the lightbulbs):

image

(That smearing does not happen in any of the the AO, GI, Beauty passes)

@Mugen87
Copy link
Collaborator Author

Mugen87 commented Sep 10, 2025

@hybridherbst Yes, the TAA is still in place even if the SSGI component does not use temporal offsets and directions to produce varying frame data. That has not changed with this PR. The demo setup is currently a bit easier if we don't have to switch between TAA and no TAA. So what you see is the ghosting from the TAA.

@zalo
Copy link
Contributor

zalo commented Sep 10, 2025

Awesome! It looks so good now! You could tell I was really agonizing over the fact that the SSGI’s AO couldn’t “occlude” all the way to black in that other video 😅

I’m glad you found it!! I’ll make a new comparison soon!

@hybridherbst
Copy link
Contributor

@Mugen87 thanks for clarifying!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants