Blender Git Loki
Git Commits -> Revision ea54cbe
Revision ea54cbe by Michael Kowalski (master) August 3, 2021, 10:33 (GMT) |
USD: add USD importer This is an initial implementation of a USD importer. This work is comprised of Tangent Animation's open source USD importer, combined with features @makowalski had implemented. The design is very similar to the approach taken in the Alembic importer. The core functionality resides in a collection of "reader" classes, each of which is responsible for converting an instance of a USD prim to the corresponding Blender Object representation. The flow of control for the conversion can be followed in the `import_startjob()` and `import_endjob()` functions in `usd_capi.cc`. The `USDStageReader` class is responsible for traversing the USD stage and instantiating the appropriate readers. Reviewed By: sybren, HooglyBoogly Differential Revision: https://developer.blender.org/D10700 |
Commit Details:
Full Hash: ea54cbe1b42efb3107285c89685f555c06997062
Parent Commit: 28b9dd7
Committed By: Sybren A. Stüvel
Lines Changed: +5637, -326
29 Added Paths:
/source/blender/io/common/IO_types.h (+34, -0) (View)
/source/blender/io/usd/intern/usd_capi_export.cc (+238, -0) (View)
/source/blender/io/usd/intern/usd_capi_import.cc (+578, -0) (View)
/source/blender/io/usd/intern/usd_common.cc (+43, -0) (View)
/source/blender/io/usd/intern/usd_common.h (+25, -0) (View)
/source/blender/io/usd/intern/usd_reader_camera.cc (+100, -0) (View)
/source/blender/io/usd/intern/usd_reader_camera.h (+42, -0) (View)
/source/blender/io/usd/intern/usd_reader_curve.cc (+256, -0) (View)
/source/blender/io/usd/intern/usd_reader_curve.h (+62, -0) (View)
/source/blender/io/usd/intern/usd_reader_geom.cc (+59, -0) (View)
/source/blender/io/usd/intern/usd_reader_geom.h (+52, -0) (View)
/source/blender/io/usd/intern/usd_reader_instance.cc (+64, -0) (View)
/source/blender/io/usd/intern/usd_reader_instance.h (+47, -0) (View)
/source/blender/io/usd/intern/usd_reader_light.cc (+252, -0) (View)
/source/blender/io/usd/intern/usd_reader_light.h (+41, -0) (View)
/source/blender/io/usd/intern/usd_reader_material.cc (+703, -0) (View)
/source/blender/io/usd/intern/usd_reader_material.h (+131, -0) (View)
/source/blender/io/usd/intern/usd_reader_mesh.cc (+853, -0) (View)
/source/blender/io/usd/intern/usd_reader_mesh.h (+95, -0) (View)
/source/blender/io/usd/intern/usd_reader_nurbs.cc (+256, -0) (View)
/source/blender/io/usd/intern/usd_reader_nurbs.h (+61, -0) (View)
/source/blender/io/usd/intern/usd_reader_prim.cc (+80, -0) (View)
/source/blender/io/usd/intern/usd_reader_prim.h (+131, -0) (View)
/source/blender/io/usd/intern/usd_reader_stage.cc (+324, -0) (View)
/source/blender/io/usd/intern/usd_reader_stage.h (+90, -0) (View)
/source/blender/io/usd/intern/usd_reader_volume.cc (+114, -0) (View)
/source/blender/io/usd/intern/usd_reader_volume.h (+49, -0) (View)
/source/blender/io/usd/intern/usd_reader_xform.cc (+184, -0) (View)
/source/blender/io/usd/intern/usd_reader_xform.h (+68, -0) (View)
/source/blender/io/usd/intern/usd_capi_export.cc (+238, -0) (View)
/source/blender/io/usd/intern/usd_capi_import.cc (+578, -0) (View)
/source/blender/io/usd/intern/usd_common.cc (+43, -0) (View)
/source/blender/io/usd/intern/usd_common.h (+25, -0) (View)
/source/blender/io/usd/intern/usd_reader_camera.cc (+100, -0) (View)
/source/blender/io/usd/intern/usd_reader_camera.h (+42, -0) (View)
/source/blender/io/usd/intern/usd_reader_curve.cc (+256, -0) (View)
/source/blender/io/usd/intern/usd_reader_curve.h (+62, -0) (View)
/source/blender/io/usd/intern/usd_reader_geom.cc (+59, -0) (View)
/source/blender/io/usd/intern/usd_reader_geom.h (+52, -0) (View)
/source/blender/io/usd/intern/usd_reader_instance.cc (+64, -0) (View)
/source/blender/io/usd/intern/usd_reader_instance.h (+47, -0) (View)
/source/blender/io/usd/intern/usd_reader_light.cc (+252, -0) (View)
/source/blender/io/usd/intern/usd_reader_light.h (+41, -0) (View)
/source/blender/io/usd/intern/usd_reader_material.cc (+703, -0) (View)
/source/blender/io/usd/intern/usd_reader_material.h (+131, -0) (View)
/source/blender/io/usd/intern/usd_reader_mesh.cc (+853, -0) (View)
/source/blender/io/usd/intern/usd_reader_mesh.h (+95, -0) (View)
/source/blender/io/usd/intern/usd_reader_nurbs.cc (+256, -0) (View)
/source/blender/io/usd/intern/usd_reader_nurbs.h (+61, -0) (View)
/source/blender/io/usd/intern/usd_reader_prim.cc (+80, -0) (View)
/source/blender/io/usd/intern/usd_reader_prim.h (+131, -0) (View)
/source/blender/io/usd/intern/usd_reader_stage.cc (+324, -0) (View)
/source/blender/io/usd/intern/usd_reader_stage.h (+90, -0) (View)
/source/blender/io/usd/intern/usd_reader_volume.cc (+114, -0) (View)
/source/blender/io/usd/intern/usd_reader_volume.h (+49, -0) (View)
/source/blender/io/usd/intern/usd_reader_xform.cc (+184, -0) (View)
/source/blender/io/usd/intern/usd_reader_xform.h (+68, -0) (View)
1 Deleted Path:
/source/blender/io/usd/intern/usd_capi.cc (+0, -252)
18 Modified Paths:
/release/scripts/startup/bl_ui/space_topbar.py (+3, -0) (Diff)
/source/blender/blenkernel/CMakeLists.txt (+7, -0) (Diff)
/source/blender/blenkernel/intern/cachefile.c (+83, -10) (Diff)
/source/blender/blenkernel/intern/constraint.c (+19, -2) (Diff)
/source/blender/editors/io/io_ops.c (+1, -0) (Diff)
/source/blender/editors/io/io_usd.c (+279, -0) (Diff)
/source/blender/editors/io/io_usd.h (+2, -0) (Diff)
/source/blender/io/alembic/ABC_alembic.h (+8, -9) (Diff)
/source/blender/io/alembic/intern/abc_util.h (+0, -9) (Diff)
/source/blender/io/alembic/intern/alembic_capi.cc (+16, -19) (Diff)
/source/blender/io/common/CMakeLists.txt (+1, -0) (Diff)
/source/blender/io/usd/CMakeLists.txt (+29, -1) (Diff)
/source/blender/io/usd/usd.h (+69, -0) (Diff)
/source/blender/makesdna/DNA_cachefile_defaults.h (+1, -0) (Diff)
/source/blender/makesdna/DNA_cachefile_types.h (+18, -8) (Diff)
/source/blender/makesrna/intern/rna_cachefile.c (+6, -6) (Diff)
/source/blender/modifiers/CMakeLists.txt (+10, -0) (Diff)
/source/blender/modifiers/intern/MOD_meshsequencecache.c (+53, -10) (Diff)
/source/blender/blenkernel/CMakeLists.txt (+7, -0) (Diff)
/source/blender/blenkernel/intern/cachefile.c (+83, -10) (Diff)
/source/blender/blenkernel/intern/constraint.c (+19, -2) (Diff)
/source/blender/editors/io/io_ops.c (+1, -0) (Diff)
/source/blender/editors/io/io_usd.c (+279, -0) (Diff)
/source/blender/editors/io/io_usd.h (+2, -0) (Diff)
/source/blender/io/alembic/ABC_alembic.h (+8, -9) (Diff)
/source/blender/io/alembic/intern/abc_util.h (+0, -9) (Diff)
/source/blender/io/alembic/intern/alembic_capi.cc (+16, -19) (Diff)
/source/blender/io/common/CMakeLists.txt (+1, -0) (Diff)
/source/blender/io/usd/CMakeLists.txt (+29, -1) (Diff)
/source/blender/io/usd/usd.h (+69, -0) (Diff)
/source/blender/makesdna/DNA_cachefile_defaults.h (+1, -0) (Diff)
/source/blender/makesdna/DNA_cachefile_types.h (+18, -8) (Diff)
/source/blender/makesrna/intern/rna_cachefile.c (+6, -6) (Diff)
/source/blender/modifiers/CMakeLists.txt (+10, -0) (Diff)
/source/blender/modifiers/intern/MOD_meshsequencecache.c (+53, -10) (Diff)