-
-
Notifications
You must be signed in to change notification settings - Fork 36.1k
TSL: Pre-pass using global context #32276
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
Conversation
📦 Bundle sizeFull ESM build, minified and gzipped.
🌳 Bundle size after tree-shakingMinimal build including a renderer, camera, empty scene, and dependencies.
|
|
Very exciting stuff! |
|
It's interesting that the temporal filtering isn't really needed when the AO is used properly. |
|
Will be nice to see how will |
|
I guess the reason the GTAONode has a boolean for it is because it makes the pass slower? But seeing how subtle it is when the AO is used directly in the PBR shader makes me think it's not worth it. |
|
On that note, after this lands... Maybe we could consider implementing something like this: scene.aoNode = new GTAONode(); |
It's because not every app wants to use TAA. TAA is a requirement though for temporal filtering/accumulation. |
|
Even if you use TAA it's good to have a toggle for temporal filtering. Depending on the effect (e.g. SSGI) ghosting can be amplified and apps might want to use a denoiser instead. However, you loose quality that way so it really depends on the app which options works best. I've seen that similar effects in Unity also provides such toggles to accommodate the user requirements. But I agree the bedroom scene is not ideal. Hopefully, we can replace it at some point with a better asset. |
Are nodes aware of other nodes in the graph? Would be nice if the GTAO node was able to detect if the TAA node is going to be applied later and then run this code. |
I'm not sure if this fits in scene, because the pre-pass shares the same scene. We could have it in scenePass.aoNode = aoPassOutput.sample( screenUV ).r; |


Related issue: #28863,
Pre-Pass
I made some refinements to the API to support Pre-Pass with MRT; this is usually necessary and its need becomes particularly evident when using
velocity.AO Pre-Pass - there is bug when resize the window yet
AO No Pre-Pass
The benefits are quite evident, as a demonstration shows.
Pre-pass
Current
Process