Page MenuHome

Eevee: Refactor mapping geometries between frames for motion blur.
ClosedPublic

Authored by Jacques Lucke (JacquesLucke) on Dec 7 2021, 12:19 PM.

Details

Summary

Previously, objects and geometries were mapped between frames using different hash tables in a way that is incompatible with geometry instances. That is because the geometry mapping happened without looking at the persistent_id of instances, which is not possible anymore. Now, there is just one mapping that identifies the same object at multiple points in time.

There are also two new caches for duplicated vbos and textures used for motion blur. This data has to be duplicated, otherwise it would be freed when another time step is evaluated. This caching existed before, but is now a bit more explicit and works for geometry instances as well.

Also fixes T93784.

Diff Detail

Repository
rB Blender
Branch
eevee-instance-motion-blur (branched from master)
Build Status
Buildable 19259
Build 19259: arc lint + arc unit

Event Timeline

Jacques Lucke (JacquesLucke) requested review of this revision.Dec 7 2021, 12:19 PM
Jacques Lucke (JacquesLucke) created this revision.
  • Merge branch 'master' into eevee-instance-motion-blur
  • avoid duplicating the same vbo for multiple instances
  • Merge branch 'master' into eevee-instance-motion-blur
This revision is now accepted and ready to land.Feb 21 2022, 4:14 PM