-
-
Notifications
You must be signed in to change notification settings - Fork 54
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
Improved TAA with Velocity Buffer #1213
base: master
Are you sure you want to change the base?
Conversation
I tested it in VR on PSVR2 on Windows and desktop mode on Linux, and it works perfectly. None of the artifacts happening before were showing up now. |
Would there be a way to make it a bit less blurry or add blur/sharpness adjustment, even as a tradeoff for small amount of aliasing? |
if you run luci and open the “Antialiasing” section, there are various parameters that control it. these values aren’t settings-backed, but we could either:
|
It looks like it switches between sharp and blurry in the mirrors, and seems much blurrier in VR than in desktop mode |
I also seem to remember that original TAA PR in Vircadia was as sharp in VR as in Desktop, so I'm wondering if there may be some regression there. |
Shadows on TAA PR seem to glitch in mirrors: |
yeah this has some remaining issues that I will track down at some point. I don’t think it will be done in time for the end of the grant, but this is like 95% of the way there |
In desktop mode it already does look amazing :) |
As long as this doesn't cause any regressions, I am down for merging this. I haven't tested the most recent version, but it sounds like I will be using this as soon as it lands in master. Can't wait for crisp graphics without having to set 200% resolution scale. |
ok, I can rebase and make sure it’s disabled by default (I think it is now) and then we can re-evaluate. the remaining issues are:
I think the latter two issues are related to the saved transform slots which are just tricky to debug |
I think it's a really good idea. Let me know when I can review it :) |
@ksuprynowicz I've rebased this so it should be ready for review! I've confirmed that on fresh settings, AA still defaults to off. I also found where we were modifying the horizontal jitter for VR; I tried disabling it (see the last commit) to see if that helps. the other issues are still present but only in mirrors so they aren't a huge deal, hopefully we can fix them in a follow up @JulianGro I'd be curious to hear how it looks for you too if you can find some time to test it. zvork had some other branches related to this that we could try to resurrect after this is merged, some of them might help with the bright bloom flashes or reduce ghosting |
I am looking at it.
As a note: There are thin black edges around emissive objects, though this also happens in master. I just thought it was noteworthy because the other issue also happens in conjunction with emissive materials. |
Awesome! I'm halfway through review, should be ready tomorrow morning |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything looks good :)
vec3 ctc = taa_fetchSourceMap(fragUV - dv).rgb; | ||
vec3 ctr = taa_fetchSourceMap(fragUV - dv + du).rgb; | ||
vec3 cml = taa_fetchSourceMap(fragUV - du).rgb; | ||
vec3 cmc = sourceColor; //taa_fetchSourceMap(fragUV).rgb; // could resuse the same osurce sample isn't it ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typos in the comment
IMO it's ready to merge, but can we wait with merging this PR until OpenXR is merged? |
@ksuprynowicz yeah no prob! happy to wait. I’m also happy to handle merging this into the vulkan branch if that would be helpful for you |
reworked #501 (which is reworked vircadia/vircadia-native-core#576, which is reworked yozlet/interface@master...Zvork:velgbuf) (by me)
I think I've fixed the jittering issues that were blocking the last iteration of this PR, hopefully it looks ok in VR too.
Funding
This project is funded through NGI0 Entrust, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.