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
2017-03-12Cleanup: styleCampbell Barton
2017-02-25Fix compiling after a0b8a9fJens Verwiebe
2017-02-25Alembic: avoid crashing when reading non-indexed UV params.Kévin Dietrich
2017-02-25Alembic: addition of a scope timer to perform basic profiling.Kévin Dietrich
2017-02-24Fix T50757: Alembic, assign imported materials to the object dataKévin Dietrich
instead of to the object itself.
2017-02-16Cleanup: IndentationSergey Sharybin
2017-02-15[Alembic] Fix msvc warning - C4138 '*/' found outside of commentlazydodo
2017-02-14Alembic: fix naming of imported transforms.Kévin Dietrich
When importing an Alembic file with grouped transforms, it would badly name the transforms, taking the name of the parent instead of its own. Patch by @maxime.robinot Differential Revision: https://developer.blender.org/D2507
2017-02-10Alembic: fixed mistake in bounding box computationSybren A. Stüvel
By performing the Z-up to Y-up conversion, the change in sign of the Z-coordinate swaps "minimum" and "maximum".
2017-02-08Fix T49249: Alembic export with multiple hair systems crash blenderSybren A. Stüvel
Removed unnecessary call to DM_update_tessface_data(). This call is already performed by DM_ensure_tessface(dm). The call being performed twice caused a failing BLI_assert(). Reviewed by: Kévin Dietrich
2017-02-08Alembic export: avoid infinite loops trying to find parent objects.Sybren A. Stüvel
Also added some assertions for debugging purposes Reviewed by: Kévin Dietrich
2017-02-08Alembic export: only create transform writer if the object should be exportedSybren A. Stüvel
Reviewed by: Kévin Dietrich
2017-02-08Alembic: Use getXForm() in check, because it's used in rest of the function tooSybren A. Stüvel
This makes the code within the function consistent.
2017-02-08Alembic: Renamed copy_zup_yup to copy_yup_from_zup (and same for zup_from_yup)Sybren A. Stüvel
With the new names the arguments (yup, zup) are in the same order as they appear in the function name. The old names used copy_src_dst(dst, src), which I found very confusing. Furthermore, now it is clear from where to where the copy is made. This makes the function names a little bit longer, though. If that is a real issue, we can just name them zup_from_yup(zup, yup). Reviewed by: Kévin Dietrich
2017-01-26Alembic: fix compile error on Linux.Kévin Dietrich
2016-12-01Alembic: quiet compilation warnings on Windows.Kévin Dietrich
Most of them are harmless implicit conversions (e.g. Alembic deals with doubles for storing time information when Blender uses both ints and floats/doubles) or class/struct mismatch on forward declarations.
2016-11-30Alembic: slight cleanup, reorder mesh code a bit.Kévin Dietrich
2016-11-30Fix T49813: crash after changing Alembic cache topology.Kévin Dietrich
Crash is due by mismatching loops and faces counts between the Alembic data and the Blender derivedmesh which does not appear so straightforward to fix (the crash happens deep in the derivedmesh code). So for now, try to detect if the topology has changed and if so, both only read vertices (vertex colors and UVs won't be read, as tied to face loops) and add a warning message in the modifier's UI to let the user know.
2016-11-25Math Lib: rotate matrix cleanupCampbell Barton
- Remove 'rotate_m2', unlike 'rotate_m4' it created a new matrix duplicating 'angle_to_mat2' - now used instead. (better avoid matching functions having different behavior). - Add 'axis_angle_to_mat4_single', convenience wrapper for 'axis_angle_to_mat3_single'. - Replace 'unit_m4(), rotate_m4()' with a single call to 'axis_angle_to_mat4_single'.
2016-10-29Fix T49878: Alembic crash with long object nameKévin Dietrich
Crash comes from writing to char array (ID::name) out its bound and thus overriding memory in the ID struct.
2016-10-29Alembic: store a pointer to the object reader in the cache modifiers andKévin Dietrich
constraints. This avoids traversing the archive everytime object data is needed and gives an overall consistent ~2x speedup here with files containing between 136 and 500 Alembic objects. Also this somewhat nicely de- duplicates code between data creation (upon import) and data streaming (modifiers and constraints). The only worying part is what happens when a CacheFile is deleted and/or has its path changed. For now, we traverse the whole scene and for each object using the CacheFile we free the pointer and NULL-ify it (see BKE_cachefile_clean), but at some point this should be re-considered and make use of the dependency graph.
2016-10-20Alembic: only export custom data (UVs, VCols) once, on the first frame.Kévin Dietrich
This would cause Alembic to throw an exception and fail exporting animations because it was trying to recreate and overwrite the attributes for each frame.
2016-09-25Cleanup: remove unused function.Kévin Dietrich
2016-09-25Alembic: only interpolate vertices when their number don't differKévin Dietrich
between samples. This could cause some crashes.
2016-09-23Quiet warning.Kévin Dietrich
2016-09-23Alembic: only export face sets when required by the user.Kévin Dietrich
Also remove deprecated face set code.
2016-09-20Alembic: add support to interpolate transform matrices in-betweenKévin Dietrich
frames.
2016-09-16Fix T49369: Blender crashes/closes down application at alembic export ofKévin Dietrich
any object There were a couple of crashes caused by stupid typos in rB631af9f930d2fd2c76751204ff22239aa95f761d and rB78ea06fea4a74181c25254ed72d50d8a743b6954, as well as a shamefull lack of 'testing before committing' which only affect exporting. One crash was due to using RNA_boolean_get instead of RNA_enum_get, the other one was a tricky case of order of deletion happening in the destructors of AbcExporter and ArchiveWriter. Should not affect RC or release.
2016-09-09Alembic streaming: initial support to interpolate data between frames.Kévin Dietrich
Pretty self-explanatory, allows to get some slow motion type of playback and animations.
2016-09-09Alembic: add option to triangulate meshes upon export.Kévin Dietrich
2016-09-09Alembic, cleanup: split archive opening code in their own classes andKévin Dietrich
files. Also helps keeping platform specific code in separate from the rest of the code.
2016-09-05Alembic: fix parenting issues when an object has multiple curves/pointsKévin Dietrich
subobjects.
2016-09-05Fix T49249: Alembic export with multiple hair systems crash blenderKévin Dietrich
Crash was due to a name collision in Alembic objects caused by the fact that names derive from the one of the Blender object. An object having multiple particles system would thus give its name to various subobjects. Now use the name of the particles system for the Alembic object.
2016-08-25Fix T49112: Alembic unicode path issues on Windows.Kévin Dietrich
Now we pass streams to Alembic instead of passing the filename string. That way we can open the stream ourselves with the proper unicode encoding. Note that this only applies to Ogawa archive, as HDF5 does not support streams. Differential Revision: https://developer.blender.org/D2160
2016-08-21Cleanup: let's try to avoid too much indirect header imports, makes things ↵Bastien Montagne
harder when some cope changes...
2016-08-19Alembic: fix crash accessing invalid objects.Kévin Dietrich
2016-08-18Fix T49104: normal problem in imported Alembic objectsKévin Dietrich
Recompute the normals if the normals are supposed to be varying (e.g. in the ISchema).
2016-08-17Alembic import: fix scene min/max time computation to take objects withKévin Dietrich
transform animations into account.
2016-08-17Fix T49081: Alembic sampling times are not taking start frame intoKévin Dietrich
account. This resulted in animations always starting at frame 0.
2016-08-16Fix two memleaks found by coverity.Bastien Montagne
2016-08-09Alembic: fix finding boost headers for win32lazydodo
2016-08-06Basic Alembic supportKévin Dietrich
All in all, this patch adds an Alembic importer, an Alembic exporter, and a new CacheFile data block which, for now, wraps around an Alembic archive. This data block is made available through a new modifier ("Mesh Sequence Cache") as well as a new constraint ("Transform Cache") to somewhat properly support respectively geometric and transformation data streaming from alembic caches. A more in-depth documentation is to be found on the wiki, as well as a guide to compile alembic: https://wiki.blender.org/index.php/ User:Kevindietrich/AlembicBasicIo. Many thanks to everyone involved in this little project, and huge shout out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the custom builds and compile fixes. Reviewers: sergey, campbellbarton, mont29 Reviewed By: sergey, campbellbarton, mont29 Differential Revision: https://developer.blender.org/D2060