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-05-29Merge branch 'blender-v2.83-release'Brecht Van Lommel
2020-05-29Blender: change bugfix release versioning from a/b/c to .1/.2/.3Brecht Van Lommel
The file subversion is no longer used in the Python API or user interface, and is now internal to Blender. User interface, Python API and file I/O metadata now use more consistent formatting for version numbers. Official releases use "2.83.0", "2.83.1", and releases under development use "2.90.0 Alpha", "2.90.0 Beta". Some Python add-ons may need to lower the Blender version in bl_info to (2, 83, 0) or (2, 90, 0) if they used a subversion number higher than 0. https://wiki.blender.org/wiki/Reference/Release_Notes/2.83/Python_API#Compatibility This change is in preparation of LTS releases, and also brings us more in line with semantic versioning. Fixes T76058. Differential Revision: https://developer.blender.org/D7748
2020-05-28Cleanup: spellingCampbell Barton
2020-05-26Merge remote-tracking branch 'origin/blender-v2.83-release'Sybren A. Stüvel
2020-05-26Fix T77021: Alembic export of animated mesh with multiple UV maps failsSybren A. Stüvel
This was caused by a side-effect of our exporting code's memory management (Alembic considers data "written" and "final" when its C++ objects go out of scope) in combination with my change in rB65574463fa2d. I removed an "only export UVs on the first frame" clause because it was unclear why this restriction was there. As it turns out, it breaks the export of the 2nd and subsequent UV maps on an animated mesh. Effectively, on every frame the Alembic library thought we want to create a new UV map, instead of continuing to write a new frame of data to the existing one. This is resolved by keeping a reference to the C++ objects for the UV maps in memory while the exporter is running.
2020-05-22Cleanup: only use nullptr in USD exporterSybren A. Stüvel
This removes all use of `NULL` from the USD Exporter, also when calling into C code. No functional changes.
2020-05-18Alembic: Fix bad allocation with invalid knots dataSergey Sharybin
It is not impossible that the number of knots is stored wrong in the file (for example, it will be 1 knot only). This change fixes bad memory allocation and bad memory access in such cases. It also fixes strict compiler warning which was mentioning that the allocation size is wrong), There isn't really the correct way of dealing with such situation, so simply fall back to Blender's knots calculation. Differential Revision: https://developer.blender.org/D7765
2020-05-18AVI: Fix read past array boundsSergey Sharybin
It is not enough to copy max of destination buffer size bytes, the source might be smaller than the destination size.
2020-05-15Merge remote-tracking branch 'origin/blender-v2.83-release'Sybren A. Stüvel
2020-05-15Fix T76695: Not exporting normals properly in Alembic formatSybren A. Stüvel
When auto-smooth enabled, but no custom normals layer present, the Alembic exporter would incorrectly assume the mesh was shaded smooth. This is now corrected, and normals are always written when auto-smooth is enabled.
2020-05-12Merge remote-tracking branch 'origin/blender-v2.83-release'Sybren A. Stüvel
2020-05-12Fix T76132: Can't import Alembic with changing UVsSybren A. Stüvel
In the Alembic importer, the animation of UVs and normals was overlooked; when the mesh geometry is not animated, the entire mesh was considered constant. T76132 concerns both the exporting and importing of changing UVs. This commit fixes the importing.
2020-05-12Fix T76132: Can't export Alembic with changing UVsSybren A. Stüvel
In the Alembic exporter, UVs were only exported on the first frame. This is an issue, as when exporting an animated mesh the topology can change, and then the UV coordinates of the first frame are no longer valid. T76132 concerns both exporting and importing changing UVs. This fixes the exporting.
2020-05-12Merge branch 'blender-v2.83-release'Campbell Barton
2020-05-12Fix T76514: Invalid geometry in Alembic crashes BlenderSybren A. Stüvel
Even though {T76514} is caused by invalid geometry, and thus technically constitutes a bug in the software that created the Alembic file, I would like Blender not to crash on importing such a file. The error in the Alembic file consists of invalid mesh loops, where consecutive loops refer to the same vertex. The `BKE_mesh_validate()` can actually correct these errors, so this commit focuses on two things: - Letting Blender survive the situation until the mesh is loaded, and - Detecting the error so that `BKE_mesh_validate()` can be called only when necessary. This ensures there is only a minimal impact on performance when loading actually valid data. Differential Revision: https://developer.blender.org/D7703 Reviewed By: JacquesLucke
2020-05-09Cleanup: double-spaces in commentsCampbell Barton
2020-05-08Cleanup: take includes out of 'extern "C"' blocksJacques Lucke
Surrounding includes with an 'extern "C"' block is not necessary anymore. Also that made it harder to add any C++ code to some headers, or include headers that have "optional" C++ code like `MEM_guardedalloc.h`. I tested compilation on linux and windows (and got help from @LazyDodo). If this still breaks compilation due to some linker error, the header containing the symbol in question is probably missing an 'extern "C"' block. Differential Revision: https://developer.blender.org/D7653
2020-05-08USD: Export hair/particle system with name of system (and not its settings)Sybren A. Stüvel
Particle systems have two names: the name of the particle system itself, and the name of the particle system settings. The USD exporter used to use the latter name, and now switched to the former. This is to be in line with the Alembic exporter, as well as to give users more freedom in the naming (the particle system can have a unique name but still share settings from other particle systems).
2020-05-08Cleanup: USD, removed unnecessary variableSybren A. Stüvel
No functional changes.
2020-05-08Cleanup: USD, made AbstractHierarchyIterator::get_writer constSybren A. Stüvel
No functional changes.
2020-05-08Cleanup: USD, added some clarifying commentsSybren A. Stüvel
No functional changes.
2020-05-08Cleanup: USD, refactored export graph constructionSybren A. Stüvel
The construction of the export graph is now split into a few steps: - Construct a `HierarchyContext` object for the to-be-exported object. - Determine the graph index, i.e. the export-parent and the duplicator. - Update the `HierarchyContext` object for this graph index. This allows the upcoming new Alembic exporter to override the location of an object in the export graph, in order to support "flattened" exports. Aside from that, this also simply makes the code cleaner. No functional changes.
2020-05-08Cleanup: Alembic, moved axis conversion functions into their own filesSybren A. Stüvel
The long-term goal is to move code out of `abc_util.{h,cc}` into either files with better, more concrete names, or simply into the one file where they are used. No functional changes.
2020-05-08Fix T76498: Refactoring - Rename BKE modifiers funtionsAntonio Vazquez
2020-04-09Fix T75491: ctest: usd_test fails in a debug configurationSybren A. Stüvel
There was a bug in the `connect_loose_objects()` function, which caused some objects to be exported twice (once for real, and once transform-only). This is now resolved.
2020-04-07Cleanup: BLI_path.h function renamingCampbell Barton
Use BLI_path_ prefix, more consistent names: BLI_parent_dir -> BLI_path_parent_dir BLI_parent_dir_until_exists -> BLI_path_parent_dir_until_exists BLI_ensure_filename -> BLI_path_filename_ensure BLI_first_slash -> BLI_path_slash_find BLI_last_slash -> BLI_path_slash_rfind BLI_add_slash -> BLI_path_slash_ensure BLI_del_slash -> BLI_path_slash_rstrip BLI_path_native_slash -> BLI_path_slash_native Rename 'cleanup' to 'normalize', similar to Python's `os.path.normpath`. BLI_cleanup_path -> BLI_path_normalize BLI_cleanup_dir -> BLI_path_normalize_dir BLI_cleanup_unc -> BLI_path_normalize_unc BLI_cleanup_unc16 -> BLI_path_normalize_unc16 Clarify naming for extracting, creating numbered paths: BLI_stringenc -> BLI_path_sequence_encode BLI_stringdec -> BLI_path_sequence_decode Part of T74506 proposal.
2020-04-03Cleanup: Animation, move AnimData API to `anim_data.c`/`BKE_anim_data.h`Sybren A. Stüvel
The `BKE_animsys.h` and `anim_sys.c` files already had a an "AnimData API" section. The code in that section has now been split off, and placed into `BKE_anim_data.h` and `anim_data.c`. All files that used to include `BKE_animsys.h` have been adjusted to only include the animation headers they need (sometimes none). No functional changes.
2020-04-03Cleanup: split `BKE_anim.h` and `anim.c` into smaller piecesSybren A. Stüvel
The files are now split up into the following sections: - `BKE_anim_path.h` and `anim_path.c` for path/curve functions. - `BKE_anim_visualization.h` and `anim_visualizationanim_path.c` for animation visualization (mostly motion paths). - `BKE_duplilist.h` for DupliList function declarations. These were already implemented in `object_dupli.c`, so they were rather out of place being declared in `BKE_anim.h` in the first place. No functional changes.
2020-03-29Cleanup: spelling, commentsCampbell Barton
2020-03-24Cleanup: spellingCampbell Barton
2020-03-22Cleanup: spelling, correct Mesh.mface docsCampbell Barton
2020-03-19Cleanup: fix typos in commentsBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D7133
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-18Cleanup: 64 bit file IO on windows.Ray Molenkamp
Unlike Linux where fseek/tell will be either 32 or 64 bit depending on the target platform, it will always be 32 bit on windows. We had some macro magic in BLI_winstuff.h that substituted them for 64 bit versions, but that is upsetting the system headers if they get included after BLI_winstuff.h which is problematic for D6811. This diff adds proper functions in blenlib and updates all calls that were using the BLI_winstuff.h header to gain 64 bit file IO. note: Anything that was using the 32 bit versions (ie not including BLI_winstuff.h) will still be using the 32 bit versions, which is perhaps a good code quality Friday project. Differential Revision: https://developer.blender.org/D7160 Reviewers: brecht dfelinto
2020-03-15Fix Blender building after recent 'cleanup'.Bastien Montagne
Caused by rB4be4c0667155. Please ensure at least affected code does still build...
2020-03-15Cleanup: redundant checksCampbell Barton
In some cases moved the checks into asserts, to ensure changes in the future don't cause the checks to become necessary again.
2020-03-13Cleanup: USD, move some common code to an abstract superclassSybren A. Stüvel
The `check_is_animated()` function will be used by the upcoming Alembic exporter as well. There is nothing USD-specific in the function. No functional changes.
2020-03-13Cleanup: USD, removed unused export job dataSybren A. Stüvel
The code was copied from the Alembic exporter, and some of the options are no longer used. Not updating the Alembic exporter itself, as this will be done in a much larger rewrite.
2020-03-11Cleanup: Fix build warning on windows.Ray Molenkamp
printf is called for a size_t (64 bit on x64) type but the formatter is `%lu` (32 bit) leading to a warning with MSVC. `%zu` is the appropriate formatter.
2020-03-11Cleanup: spellingCampbell Barton
2020-03-10Fix T74200: Alembic import crashes BlenderSybren A. Stüvel
I've added a very minimal mesh validation before the Alembic mesh is actually converted to a Blender mesh. This prevents a specific crash with an example file attached to T74200.
2020-03-09Alembic: constraint for transform animation is using world matrix againSybren A. Stüvel
In rB7c5a44c71f13 I changed the way transform matrices are loaded from Alembic. Instead of having the Alembic importer convert matrices from local (in the Alembic file) to World (to pass to the constraint handling the animation of transforms), I set the constraint space to `CONSTRAINT_SPACE_LOCAL`. This worked thanks to rB7728bfd4c45c. However, that commit was reverted, which meant that for parentless objects `CONSTRAINT_SPACE_LOCAL` no longer means "local space". The situation is resolved by setting the constraint to world space again, and computing the world matrix in the Alembic importer.
2020-03-07Cleanup: replace BLI_make_file_string with BLI_join_dirfile where possibleCampbell Barton
Use 'BLI_join_dirfile' for joining paths that don't need to expand '//'.
2020-03-06Cleanup: Fix forward declaration of headersDalai Felinto
2020-03-06Cleanup: move Alembic, AVI, Collada, and USD to `source/blender/io`Sybren A. Stüvel
This moves the `alembic`, `avi`, `collada`, and `usd` modules into a common `io` directory. This also cleans up some `#include "../../{somedir}/{somefile}.h"` by adding `../../io/{somedir}` to `CMakeLists.txt` and then just using `#include "{somefile}.h"`. No functional changes.