-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
Temporal Antialiasing (TAA) #7291
Merged
Merged
Changes from 1 commit
Commits
Show all changes
392 commits
Select commit
Hold shift + click to select a range
3923ede
Reduce TAA flickering
JMS55 cbbee68
Add taa velocity dilation
JMS55 83f82a6
Camera jitter cleanup
JMS55 dade3a1
Remove TAA blit pass
JMS55 6f699a4
TAA pipeline specialization
JMS55 526de34
Fix TAA hdr shader defs
JMS55 fed969e
Default to SSAO high, add custom quality
JMS55 bb4d157
Fix SSAO example
JMS55 3b57a03
Misc doc fix
JMS55 9928498
Double buffer TAA textures
JMS55 82088fb
Fix karis weight
JMS55 f355dfc
Fix TAA anti flicker
JMS55 783e020
Add TAA references
JMS55 4949cab
Misc fix
JMS55 bc14ad2
Ensure TAA goes before bloom
JMS55 e100d65
Remove failed anti flicker
JMS55 54997e3
Misc fix
JMS55 49af70d
Add second SSAO denoise pass
JMS55 71703b4
Misc fix
JMS55 d588b7e
Use R16 textures for SSAO
JMS55 5b54ab6
Misc tweaks
JMS55 9b191ad
Fix denoise missing right visibility
JMS55 2a12bf0
Unroll GTAO side loop
JMS55 04c114e
Misc cleanup
JMS55 ade10a5
Revert "Add second SSAO denoise pass"
JMS55 d077237
address pr comments
IceSentry ef4b3e9
Merge branch 'main' into depth-prepass
IceSentry 314dea0
docs
IceSentry 8719d47
Add depth based disocclusion test for TAA
JMS55 3c17e29
Doc comment
JMS55 8f269ca
Add another TAA reference
JMS55 a6b120d
Add more TAA references
JMS55 42f9282
Make TAA settings field public
JMS55 b904fb7
Misc GTAO optimization
JMS55 f2a84cf
Fix SSAO shadow acne
JMS55 266ac9e
Scale SSAO radius based on sample distance
JMS55 e6ac9e9
TAA velocity based dissoclusion detection
JMS55 a0f8af4
Misc cleanup
JMS55 ad3ce40
Misc cleanup
JMS55 c7a673b
TAA velocity fixes
JMS55 c4a60fb
Fix double buffer velocity prepass
JMS55 e6c0d5d
Disable TAA history rejection by default
JMS55 7cceee8
SSAO temporal noise reduction
JMS55 0e8a133
Rename SSAO denoise function
JMS55 2dcadff
Reduce TAA color clamping when velocity is small
JMS55 4e8890f
Misc tweaks
JMS55 4ebf55c
Merge branch 'main' into depth-prepass
IceSentry 433605d
use separate prepass components
IceSentry 722b580
fix ci
IceSentry 98d526d
Merge commit '722b58024274f4585839e0df0effb15e2aaf1fb3' into gtao
JMS55 b9a5f39
Rebase fixes
JMS55 645bee1
Misc rebase fixes
JMS55 1e5fb5a
derive default and don't run when not present
IceSentry 324eecf
Merge branch 'main' into depth-prepass
IceSentry 4999f28
Merge commit '324eecfb4e9ce115f3febf08e99c953f1d212159' into gtao
JMS55 e20e15f
use depth buffer if present
IceSentry 7b2fbbc
enable prepass by default
IceSentry b0039a4
Merge commit '7b2fbbc2a7b9bb91a8ce93ed65dd189a0785f76d' into gtao
JMS55 89e1f43
Adapt to changes
JMS55 005dcb8
extract prepass to module and standardize naming
IceSentry 301d664
Finish adapting to merge
JMS55 e34179e
Misc fix
JMS55 a54b73e
register type in core_pipeline
IceSentry 430ad2d
Misc
JMS55 9ce26ec
Remove TAA huerisitics
JMS55 0884758
Merge commit 'a54b73e0b7bbd90489c26c95c3abd9d3d8723f07' into gtao
JMS55 52157df
Merge fix
JMS55 e74265c
Rebase fixes
JMS55 013d2ef
Fix prepass shaders
JMS55 908a892
More rebase fixes
JMS55 b38b58f
Apply extra TAA variance only to the luma channel
JMS55 fab7dc3
fix FragmentInput
IceSentry 1fc3fa1
Rename ambient occlusion to diffuse occlusion
JMS55 59d9907
Fix prepass fragment input
JMS55 7948684
Add TODO
JMS55 e201fb4
Misc format
JMS55 e083a7d
better example
IceSentry b5d37d9
Merge branch 'main' into depth-prepass
IceSentry d42b611
Apply suggestions from code review
IceSentry 684a061
Apply suggestions from code review
IceSentry c3fa4e0
Apply suggestions from code review
IceSentry d134000
Update crates/bevy_pbr/src/prepass/prepass.wgsl
IceSentry 1cb5ed6
Merge branch 'main' into depth-prepass
IceSentry 51c7eea
remove unnecessary comment
IceSentry f61053e
use pbr_functions import
IceSentry 1e3b173
clean up example
IceSentry 969f3ad
add TODOs
IceSentry 2f83d4b
add comment
IceSentry 134b27c
clean up pbr_prepass
IceSentry 2b0f4f9
Apply suggestions from code review
IceSentry c157cae
Extract constants
JMS55 b6acf22
Remove newline
JMS55 715ca65
fix unwrap on empty frag shader in prepass
IceSentry 35093ed
docs
IceSentry 5c9bb20
Merge commit '35093ed2e81b737fadfa5b50c32a6e49245acdf0' into gtao
JMS55 826b19a
Fix merge
JMS55 060c52d
WIP FSR2 plugin
JMS55 14efad2
Further plugin setup
JMS55 77ca0c8
WIP: FSR2Plugin
JMS55 8f5fda4
FSR2 jitter (breaks TAA for now)
JMS55 1bb796f
Fix shader ifdefs
JMS55 63003f7
Extract projection
JMS55 0b757e0
Misc
JMS55 f48bb83
Fix dep path
JMS55 1d48c29
Add neccesary texture usages
JMS55 3d5c81c
Misc
JMS55 ff68974
Add device field
JMS55 e9942d7
Cleanup jitter
JMS55 0e38fb4
Error checking
JMS55 b35586f
Store device in context
JMS55 cada547
WIP: Update TAA impl
JMS55 88112be
Fixes
JMS55 2cc10d5
Move TAA to core pipeline
JMS55 bc87f4c
Merge commit 'cab065bad4302e4df427ffbafcdb112e755321ce' into taa-only
JMS55 bf89ceb
Misc
JMS55 a545e2a
Merge fixes
JMS55 c44c33a
Documentation
JMS55 1ddfa48
Misc formatting
JMS55 e76cd0e
Appease clippy
JMS55 bf36eb0
Add plugin note to docs
JMS55 6b90c2c
Clippy is not yet appeased
JMS55 a1ca8db
Fix prepass vertex shader ifdefs
JMS55 742d0a1
Doc improvements
JMS55 e3f6a7e
Extract temporal jitter elsewhere
JMS55 f894e83
Merge commit '02637b609e8c9371e8f8b54deae5ee8594fb76c1' into taa-only
JMS55 0ae10d6
Fix merge
JMS55 bc5574c
Update crates/bevy_render/src/camera/camera.rs
JMS55 dd99d43
Merge commit '38691ee95c7f58918aa13264a8a9c91f52fe1355' into taa-only
JMS55 2aad44e
Fix merge
JMS55 d138306
Add con of TAA to docs
JMS55 dc291f0
Combine AA examples
JMS55 db2e5e5
Fix example metadata
JMS55 052817a
Doc note
JMS55 8812cd8
Change tonemapping solution for TAA
JMS55 7ae829f
Merge commit 'cf612c8349068c2250dddf8190cd9cc5c24763d8' into taa-only
JMS55 9846dd9
Merge commit 'aab518af925e3f3b5d9b6a014faaab588ee43047' into taa-only
JMS55 b0bed7b
Merge commit '1e591bf7a5b491ca699ebe1eb3736c04d3cdffb7' into taa-only
JMS55 230e5fc
Address review feedback
JMS55 2d3fb83
Fix NaNs
JMS55 21bbe66
Update crates/bevy_core_pipeline/src/prepass/mod.rs
JMS55 fe67b5a
Update crates/bevy_core_pipeline/src/prepass/mod.rs
JMS55 ea22039
Update crates/bevy_core_pipeline/src/taa/taa.wgsl
JMS55 dbbce60
Gate update_mesh_previous_global_transforms
JMS55 5091758
Use before() instead of at_start() for prepare_taa_jitter()
JMS55 d0108eb
Save 4 velocity samples per pixel
JMS55 c4faea1
Merge commit '12f30f56675220275568d5a51afd32f14e608fd4' into taa-only
JMS55 bcd0698
Don't allow reinserting taa bundle in example
JMS55 bcd7a5d
Add TAA reset
JMS55 13e8ea1
Migrate to stageless: Merge commit 'dcc03724a57e0980bb98d1b642e80fb2d…
JMS55 e9e0ef6
Prepare non-reset pipeline early
JMS55 1455078
Fix update_previous_view_projections
JMS55 039e081
Clear velocity to yellow
JMS55 d456a1f
Improve TAA docs
JMS55 ef0845f
Possible faster velocity clear
JMS55 42c3671
Add TODO about velocity format
JMS55 9a54c54
Merge commit '943499fcdf2301ea4091b8c4ebaa491dd8c26c33' into taa-only
JMS55 c845115
Fix schedule import
JMS55 47bf23f
Switch tonemapping to max3
JMS55 a577c23
Remove outdated doc comment
JMS55 5fd9c98
Move TAA to experimental module
JMS55 4366dd2
Misc rename
JMS55 52fc423
Reduce noise in static scenes
JMS55 4feab0e
Misc
JMS55 69c1dfe
Remove velocity_prepass_location
JMS55 e179e8a
Merge commit 'fefe5297ad00f93cc92df61153cb15dad3ae4857' into taa-only
JMS55 2cae300
Misc doc tweak
JMS55 87ef413
wip
IceSentry 557a278
Merge pull request #6 from IceSentry/taa-moving-sphere
JMS55 0df70a2
Revert "moving sphere"
JMS55 e516f88
Merge pull request #7 from JMS55/revert-6-taa-moving-sphere
JMS55 49e21f6
Misc example cleanup
JMS55 80ae486
Merge branch 'taa-only' of https://github.com/JMS55/bevy into taa-only
JMS55 e7e228e
Merge commit 'eaac730617103b61fd5ede9dca463243f2d7900e' into taa-only
JMS55 2fb3291
Tweak min history blend rate
JMS55 64a52bf
Misc refactor
JMS55 f388878
Increase history confidence faster
JMS55 a10faa3
Update docs
JMS55 dd80e7c
Merge remote-tracking branch 'bevy/staging' into taa-only
JMS55 af38b4c
Tweak MIN_HISTORY_BLEND_RATE for smoother edges, at the cost of more …
JMS55 9f1a497
Tweak blend rate, probably for the final time
JMS55 5593ef9
Merge commit 'b24ed8bb0cf5567fd2467751d673754d102b47e4' into taa-only
JMS55 0f79160
Add MSAA sample count selection to AA example
JMS55 90725a2
Merge commit '3ec87e49ca49767fad658e72fbae353f6687198c' into taa-only
JMS55 191d1d8
Update Cargo.toml
JMS55 791460d
Consistent spelling of anti-aliasing
JMS55 6de0f46
Merge commit '15c55a12ff53c702acb167761424182f77f64dd7' into taa-only
JMS55 7c19b60
Rustfmt
JMS55 33012fb
Merge commit '9733613c07d65bc726f0eb1d955c363fb8e2b5c7' into taa-only
JMS55 56329de
Remove dead code
JMS55 de7d75b
Add neccesary command flush
JMS55 9891e8a
Misc
JMS55 68dbaf5
Revert "Misc"
JMS55 ea1840f
Shader ifdef fixes
JMS55 c416630
Rename velocity prepass to motion vector prepasss
JMS55 51631c0
Misc tweak
JMS55 b6d8b67
Merge remote-tracking branch 'bevyengine/main' into patch-taa
robtfm 8cbc894
fix target/attach vecs
robtfm 754192d
center jitter at zero
robtfm a7b0103
alpha-blend comment
robtfm 17771e5
ci
robtfm 81e9d29
Merge pull request #9 from robtfm/patch-taa
JMS55 aa0310e
Improve TAA jitter
JMS55 241875b
Update crates/bevy_pbr/src/prepass/mod.rs
JMS55 84cec18
Fix compile error
JMS55 04a9722
Fix shader_prepass
JMS55 415620d
Misc
JMS55 cccb2c2
Output motion vectors at render resolution, not ndc
JMS55 946f8d8
Add motion vectors to shader_prepass example
JMS55 66960e6
Fix label color in shader_prepass example
JMS55 ad4e19f
Revert "Output motion vectors at render resolution, not ndc"
JMS55 503deda
Fix update_mesh_previous_global_transforms() missing from schedule
JMS55 554c9a0
Update crates/bevy_pbr/src/prepass/mod.rs
JMS55 4af080c
Misc fixes
JMS55 2fb717e
Fix wrong system set
JMS55 fd5eeb5
Add comment
JMS55 d875e1c
Fix missing system
JMS55 6ec93f7
Improve show_prepass motion vectors
JMS55 d0ce763
Merge remote-tracking branch 'bevy/main' into taa-only
JMS55 7537c24
Fix shadow pass when no prepass is enabled
JMS55 9893d90
Misc formatting
JMS55 e289178
Merge commit '6124b20f4bb6c706f01c7a71259989696c91dea5' into taa-only
JMS55 c365924
Merge commit 'f3cf734659dc9e7f33e67364920231f1c51782dd' into taa-only
JMS55 15b050c
Merge commit '2908bb5e8a3ec00b883c7120a7a69f6e34bb642e' into taa-only
JMS55 4dd6d63
Misc formatting
JMS55 956d825
Merge commit 'fd1af7c8b8a737b4da79615741f8844069bc6a5c' into taa-only
JMS55 4e96e73
Remove unnecsary trace
JMS55 a2b7e61
Fix typo
JMS55 e5b64a6
Misc fix
JMS55 1295cb0
Merge commit '13196613ee3a1add2e525dc8d6a52d8534ebef81' into taa-only
JMS55 6242fd8
Update crates/bevy_core_pipeline/src/prepass/node.rs
JMS55 f61be1b
Doc tweak
JMS55 98baa5c
Misc refactor
JMS55 dc22250
Merge commit '7b7294b8a7c5f7531c52a2524a6a3a456c0519c0' into taa-only
JMS55 b3de57e
Merge commit 'caa662272ce91028cef6e237bb7c2a3e78727ef4' into taa-only
JMS55 765fa48
Misc fix
JMS55 4c03655
Merge commit '2c21d423fde265d1108270bd835b95a5164361cb' into taa-only
JMS55 12dd618
Remove view entity slot
JMS55 4227fa6
Update crates/bevy_core_pipeline/src/taa/taa.wgsl
JMS55 769b0af
Misc refactor
JMS55 a438db7
Merge branch 'taa-only' of https://github.com/JMS55/bevy into taa-only
JMS55 46aadc7
Rename TemporalAntialias -> TemporalAntiAlias
JMS55 b75aa88
Switch MOTION_VECTOR_PREPASS_FORMAT to Rg16Float
JMS55 a79cfdf
Doc comment
JMS55 6bb7fd2
Fix clip_towards_aabb_center
JMS55 c452322
Add docs for blend rates
JMS55 2479118
Misc
JMS55 8f6e0f7
Update docs
JMS55 3ae680c
Update crates/bevy_pbr/src/prepass/prepass.wgsl
JMS55 d4803b1
Update crates/bevy_pbr/src/render/pbr_prepass.wgsl
JMS55 c514535
Merge branch 'main' into taa-only
superdump File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Merge commit '9733613c07d65bc726f0eb1d955c363fb8e2b5c7' into taa-only
- Loading branch information
commit 33012fb1ac1c858212094cd03481e7090e172b81
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
You are viewing a condensed version of this merge commit. You can view the full changes here.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Why is this necessary? Isn't it enough to simply set the fragment shader to
None
?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.
In one of the pbr shaders the prepass imports, we need to #ifdef out a function if the prepass fragment shader (e.g., normal or velocity) is enabled.
Also, we define the fragment shader fields output dynamically based on ifdefs, but you can't have an empty struct, which would happen when neither velocity or normals are enabled.
For these reasons, we need an ifdef representing whether the prepass fragment shader will be used or not.