Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-03Clang-tidy: enable readability-container-size-empty warningJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D8197
2020-06-30Alembic: new exporter based on the USD exporter structureSybren A. Stüvel
The Alembic exporter has been restructured by leverages the `AbstractHierarchyIterator` introduced by the USD exporter. The produced Alembic files have not changed much (details below), as the Alembic writing code has simply been moved from the old exporter to the new. How the export hierarchy is handled changed a lot, though, and also the way in which transforms are computed. As a result, T71395 is fixed. Differences between the old and new exporter, in terms of the produced Alembic file: - Duplicated objects now have a unique numerical suffix. - Matrices are computed differently, namely by simply computing the evaluated transform of the object relative to the evaluated transform of its export-parent. This fixes {T71395}, but otherwise should produce the same result as before (but with simpler code). Compared to the old Alembic exporter, Subdivision modifiers are now disabled in a cleaner, more efficient way (they are disabled when exporting with the "Apply Subdivisions" option is unchecked). Previously the exporter would move to a new frame, disable the modifier, evaluate the object, and enable the modifier again. This is now done before exporting starts, and modifiers are only restored when exporting ends. Some issues with the old Alembic exporter that have NOT been fixed in this patch: - Exporting NURBS patches and curves (see T49114 for example). - Exporting flattened hierarchy in combination with dupli-objects. This seems to be broken in the old Alembic exporter as well, but nobody reported this yet. Differential Revision: https://developer.blender.org/D7664 Reviewed By: Sergey
2020-06-19Cleanup: IO, made some functions in `AbstractHierarchyIterator` protectedSybren A. Stüvel
These functions are not needed in the public interface, only by the `AbstractHierarchyIterator` class and its subclasses. No functional changes.
2020-06-19IO: ensure export path and export name are always consistentSybren A. Stüvel
Before this, there was one code path that set `context.export_path`, and a different code path for `context.export_name`, allowing the two to diverge. Keeping track of the export path of the export parent (which can be, but is not always, the Blender parent object) also allows a concrete subclass of `AbstractHierarchyIterator` to find the `AbstractWriter` for the export parent. In case of exporting to Alembic this is important, as it's not possible to simply give the Alembic library the full export path of an object like we do in the Universal Scene Description (USD) exporter; Alembic needs the C++ object of the parent.
2020-06-19IO: Allow exporting a subset of the writersSybren A. Stüvel
This is in order to prepare for compatibility with the Alembic exporter. That exporter is capable of writing object transforms and object data at different (sub)frames. The rename from `created_writers` to `used_writers` is necessary, as not all created writers will be actually used in each iteration. The Universal Scene Description (USD) exporter does not make use of this. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D7670
2020-06-19IO: Move Abstract Hierarchy Iterator into `io/common`Sybren A. Stüvel
The goal of the `AbstractHierarchyIterator` class (and supporting classes) was to use it in different exporters. It shouldn't be part of the USD module + namespace any more, now that it will also be used in the upcoming Alembic exporter rewrite. The source files are moved into `io/common`, which is compiled & linked into a new library `bf_io_common`. The unittests are still inside the `tests/gtests/usd` directory. They should be moved to a separate test module too, but that will be delayed until after T73268 has been resolved. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D7669