Blender Git Commits

Blender Git commits from all branches.

Page: 1026 / 2888

December 13, 2019, 04:30 (GMT)
USD: Check location of USD JSON files in unit tests

This commit adds a test to see whether the USD JSON files can be found
and loaded. Simply the ability to create a USD Stage for a specific
filename means that the extension has been recognised by the USD
library, and that a USD plugin has been loaded to write such files.

USD has been patched to not only look in `{exe_directory}/lib/usd`, but
also in `{exe_directory}/../lib/usd`; the latter is required to resolve
the path for test executables in `bin/tests/`.
December 13, 2019, 04:30 (GMT)
Cleanup: USD: remove unused header files
December 13, 2019, 04:30 (GMT)
USD: Windows-specific fixes by @LazyDodo
December 13, 2019, 04:30 (GMT)
USD: removed more designated initializers
December 13, 2019, 04:30 (GMT)
USD: Removed designated initializers as they are not supported in C++11
December 13, 2019, 04:30 (GMT)
USD: renamed `should_export_object` to `mark_as_weak_export`

The old name was confusing. The new name also matches the terminology
used in the HierarchyContext struct. I also added more comments to
clarify the intended functionality.

Note that this inverts the meaning of the returned value.
December 13, 2019, 04:30 (GMT)
USD: Revamped building & bundling process

- USD is now built as monolithic library, instead of 25 smaller
libraries. We were linking all of them as 'whole archive' anyway, so
this doesn't affect the final file size. It does, however, make life
easier with respect to linking order, and handling upstream changes.
- The JSON files required by USD are installed into bin/usd; they are
required on every platform.
- USD is patched so that it finds the aforementioned JSON files in a path
relative to the running executable. When left unpatched, the only way
to influence the search path for those files is to set an environment
variable BEFORE Blender starts (USD uses static initialisers, so by
the time the USD exporter runs, it has already unsuccessfully tried
loading the JSON files, and won't re-investigate that environment
variable ever again).
- USD is patched to have a `PXR_BUILD_USD_TOOLS` CMake option to disable
building the tools in its `bin` directory. This is sent as a pull
request at https://github.com/PixarAnimationStudios/USD/pull/1048
December 13, 2019, 04:30 (GMT)
USD: Avoid crash when USD JSON files cannot be found

USD ships with a set of JSON files that define which formats can be written
and which plugins are required. This is used even when statically building
and only using the default USDA and USDC formats.
December 13, 2019, 04:30 (GMT)
USD: Fixed static library linking on Linux

This may have inadvertently broken things on Windows, I'll work on a better
way soon.
December 13, 2019, 04:30 (GMT)
USD: added explanation of 'USD registry'
December 13, 2019, 04:30 (GMT)
USD: reuse `pxr::TfToken` objects

TfToken objects are not cheap to construct, so we do it once and reuse them.
December 13, 2019, 04:30 (GMT)
USD: replace check_is_transform_animated() with BKE_object_moves_in_time()
December 13, 2019, 04:30 (GMT)
USD: typedef for std::map<short, pxr::VtIntArray>
December 13, 2019, 04:30 (GMT)
USD: use BKE_object_visibility()
December 13, 2019, 04:30 (GMT)
USD: Clarified some comments, distinguish Hydra from USDViewer
December 13, 2019, 04:30 (GMT)
USD: removed dead code
December 13, 2019, 04:30 (GMT)
USD: added TODO about checking depsgraph for time dependency
December 13, 2019, 04:30 (GMT)
USD: use `BKE_animdata_id_is_animated()`

`BKE_animdata_id_is_animated()` is now used to determine whether object data
has any animation. This also includes counting the fcurves+drivers; previously
the presense of a non-NULL AnimData pointer was enough to consider the
object data animated.
December 13, 2019, 04:30 (GMT)
USD: clarification of USDAbstractWriter::is_supported()
December 13, 2019, 04:30 (GMT)
USD: iterate() ? iterate_and_write()
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021