bevy icon indicating copy to clipboard operation
bevy copied to clipboard

TAA followup tracking issue

Open JMS55 opened this issue 2 years ago • 1 comments

TAA got merged in https://github.com/bevyengine/bevy/pull/7291, but there's a couple of things we could do better.

Compatibility

  • [x] Write motion vectors for skinned meshes correctly
  • [x] Write motion vectors for morph targets correctly
  • [ ] Write motion vectors for materials with parallax mapping correctly
  • [ ] Support jittering orthographic cameras

Quality

  • [x] Mip biasing for sharper textures https://github.com/bevyengine/bevy/pull/7614 https://github.com/bevyengine/bevy/issues/7323
  • [ ] Investigate FSR techniques and more advanced TAA disocclusion heuristics to replace the rather naive history confidence mechanism we currently have (https://github.com/GPUOpen-Effects/FidelityFX-FSR2#the-technique, plane validation https://diharaw.github.io/post/adventures_in_hybrid_rendering)
  • [ ] Extra input filter to improve sharpness (Blackman-Harris or Mitchell-Netravali)
  • [ ] Flicker reduction
  • [ ] Investigate YCbCr vs YCoCg
  • [ ] Investigate whether variance(clipping) is necessary in YCoCg, vs just min/max clamp or clip
  • [ ] Consider moving TAA to be after the opaque pass, but before the transparent pass.

Performance

  • [ ] Use a uniform buffer for reset instead of shader defs
  • [ ] Move TAA to a compute shader instead of a fragment shader (threads can collaborate to load history and other textures into workgroup shared memory)
  • [ ] Double buffer mesh/view transform uniforms, rather than writing new buffers for the past-frame's values each frame
  • [ ] Figure out COD's 1-tap bicubic filter https://www.activision.com/cdn/research/Dynamic_Temporal_Antialiasing_and_Upsampling_in_Call_of_Duty_v4.pdf#page=64

JMS55 avatar Apr 17 '23 17:04 JMS55

Relevant:

  • https://github.com/bevyengine/bevy/pull/8974

nicopap avatar Sep 28 '23 06:09 nicopap

Also worth noting:

  • https://github.com/bevyengine/bevy/issues/18903

janhohenheim avatar Sep 10 '25 16:09 janhohenheim