-
-
Notifications
You must be signed in to change notification settings - Fork 21.1k
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
Vulkan: Camera jitter when TAA is enabled on float=64 build #69528
Comments
For reference, TAA jitter is expected (as it's required to improve quality in still scenes), but it shouldn't be this strong. |
This looks like the TAA pass isn't happening at all and instead the raw internal buffer is being used. |
I have the same thing, but for now, it only seems to be affecting gizmos, not my imported meshes. For now I just turn it off while working, but it would be nice to turn off rendering settings while in the editor, but turn them back on when running. Maybe similar to Environment / Camera Attributes? (Which is a great change by the way) |
This can be achieved with by enabling TAA in a script's extends Node
func _ready():
get_viewport().use_taa = true Feature tags can't be used to achieve this, unless you exploit one of them that is pretty much always |
Seems like it's not just TAA. Maybe it's about Double Precision cause strong jittering on everything that use jitter? |
…sulting in the TAA pass being completely broken. See Issue godotengine#69528. When building with precision=double, the TAA pass would break due to the motion vectors being corrupted. It was apparent the origin of the camera itself was corrupted in the UBO for the previous frame because the camera origin was only being split correctly for the current block but not for the previous block (to effectively support the double precision float on the shader).
…sulting in the TAA pass being completely broken. See Issue godotengine#69528. When building with precision=double, the TAA pass would break due to the motion vectors being corrupted. It was apparent the origin of the camera itself was corrupted in the UBO for the previous frame because the camera origin was only being split correctly for the current block but not for the previous block (to effectively support the double precision float on the shader).
…sulting in the TAA pass being completely broken. See Issue godotengine#69528. When building with precision=double, the TAA pass would break due to the motion vectors being corrupted. It was apparent the origin of the camera itself was corrupted in the UBO for the previous frame because the camera origin was only being split correctly for the current block but not for the previous block (to effectively support the double precision float on the shader). (cherry picked from commit 77776f5)
…sulting in the TAA pass being completely broken. See Issue godotengine#69528. When building with precision=double, the TAA pass would break due to the motion vectors being corrupted. It was apparent the origin of the camera itself was corrupted in the UBO for the previous frame because the camera origin was only being split correctly for the current block but not for the previous block (to effectively support the double precision float on the shader).
Godot version
v4.0.beta.custom_build [0ff8742] equivalent to beta 7
System information
Windows 11, RTX2060 Super Desktop, Vulkan
Issue description
Camera jitter when TAA is enabled on float=64 build.
I tested on normal build (custom build without float=64) and official pre-build of Godot 4 beta 7 as well.
There is no jittering on those builds. This only happens on float=64 build.
This also happens on previous version. For now, I only tested with beta 4 [e675154] and beta 7 [0ff8742].
In the video, you can see viewport before TAA is enabled, viewport after TAA is enabled and game window in respective order.
taa-camera-jitter-float64.mp4
Steps to reproduce
Enable TAA in float = 64 build.
I added mesh, directional light, and camera so you can see that jittering happens on game window too.
But you can remove it all and look at jittering wireframe in editor viewport.
Minimal reproduction project
Just open the project with float=64 build.
camera_jitter_taa_float64.zip
The text was updated successfully, but these errors were encountered: