Blender Git Loki
Git Commits -> Revision 871fda8
Revision 871fda8 by Michael A. Kowalski (usd-importer-T81257) December 4, 2020, 02:01 (GMT) |
USD importer: instancing improvements. Added new USDDataCache class for caching prototype mesh data. No longer using a global static cache for prototype meshes. Now precomputing the prototype meshes in a USDDataCache instance which is passed as an argument to USDXformableReade::create_objects(). These changes simplify the code, provide better support for thread safety and circumvent potential issues with dangling pointers in the previous implementation. |
Commit Details:
Full Hash: 871fda82e662d889046e37061b582758f705a2af
Parent Commit: 754add8
Lines Changed: +211, -94
2 Added Paths:
/source/blender/io/usd/import/usd_data_cache.cc (+57, -0) (View)
/source/blender/io/usd/import/usd_data_cache.h (+60, -0) (View)
/source/blender/io/usd/import/usd_data_cache.h (+60, -0) (View)
14 Modified Paths:
/source/blender/io/usd/CMakeLists.txt (+2, -0) (Diff)
/source/blender/io/usd/import/usd_importer_context.h (+0, -1) (Diff)
/source/blender/io/usd/import/usd_prim_iterator.cc (+47, -6) (Diff)
/source/blender/io/usd/import/usd_prim_iterator.h (+12, -6) (Diff)
/source/blender/io/usd/import/usd_reader_camera.cc (+1, -1) (Diff)
/source/blender/io/usd/import/usd_reader_camera.h (+1, -1) (Diff)
/source/blender/io/usd/import/usd_reader_light.cc (+1, -1) (Diff)
/source/blender/io/usd/import/usd_reader_light.h (+1, -1) (Diff)
/source/blender/io/usd/import/usd_reader_mesh_base.cc (+13, -44) (Diff)
/source/blender/io/usd/import/usd_reader_mesh_base.h (+2, -14) (Diff)
/source/blender/io/usd/import/usd_reader_xform.cc (+1, -1) (Diff)
/source/blender/io/usd/import/usd_reader_xform.h (+1, -1) (Diff)
/source/blender/io/usd/import/usd_reader_xformable.h (+3, -1) (Diff)
/source/blender/io/usd/intern/usd_capi.cc (+9, -16) (Diff)
/source/blender/io/usd/import/usd_importer_context.h (+0, -1) (Diff)
/source/blender/io/usd/import/usd_prim_iterator.cc (+47, -6) (Diff)
/source/blender/io/usd/import/usd_prim_iterator.h (+12, -6) (Diff)
/source/blender/io/usd/import/usd_reader_camera.cc (+1, -1) (Diff)
/source/blender/io/usd/import/usd_reader_camera.h (+1, -1) (Diff)
/source/blender/io/usd/import/usd_reader_light.cc (+1, -1) (Diff)
/source/blender/io/usd/import/usd_reader_light.h (+1, -1) (Diff)
/source/blender/io/usd/import/usd_reader_mesh_base.cc (+13, -44) (Diff)
/source/blender/io/usd/import/usd_reader_mesh_base.h (+2, -14) (Diff)
/source/blender/io/usd/import/usd_reader_xform.cc (+1, -1) (Diff)
/source/blender/io/usd/import/usd_reader_xform.h (+1, -1) (Diff)
/source/blender/io/usd/import/usd_reader_xformable.h (+3, -1) (Diff)
/source/blender/io/usd/intern/usd_capi.cc (+9, -16) (Diff)