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
2016-12-09Depsgraph: Add missing relation for cast modifierSergey Sharybin
When control object is used we need to known our own transformation as well.
2016-12-08Fix crash when opening a Blender file containing Alembic data.Kévin Dietrich
Was also affecting object linking.
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-11-18Fix potential NULL dereference in mesh sequence cache modifier.Bastien Montagne
Reported by coverity.
2016-11-11Depsgraph: Fix wrong relation namesSergey Sharybin
2016-11-11Depsgraph: Fix wrong relations in array modifierSergey Sharybin
2016-11-02Depsgraph: Fix some errors printed to the consoleSergey Sharybin
They were not real issues, it's just some areas of code tried to create relations between non-existing nodes without checking whether such relations are really needed. Now it should be easier to see real bugs printed. Hopefully should be no regressions here.
2016-10-30Fix compile errors for when WITH_ALEMBIC is OFF.Kévin Dietrich
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-23Displace modifier: add global/local space option for X/Y/Z/XYZ directions.Quentin Wenger
Reviewed By: brecht Differential Revision: https://developer.blender.org/D2309
2016-10-07Collision: skip expensive BVH update if the collider doesn't move.Alexander Gavrilov
Since the collision modifier cannot be disabled, it causes a constant hit on the viewport animation playback FPS. Most of this overhead can be automatically removed in the case when the collider is static. The updates are only skipped when the collider was stationary during the preceding update as well, so the state is stored in a field. Knowing that the collider is static can also be used to disable similar BVH updates for substeps in the actual cloth simulation code. Differential Revision: https://developer.blender.org/D2277
2016-09-30Cleanup: Naming in EditNormals modifierSergey Sharybin
2016-09-30Normal edit modifier: Fix relation builder for the new dependency graphSergey Sharybin
2016-09-05Fix T49220: Vertex paint doesn't work with OpenSubdivSergey Sharybin
It's a bit tricky to align vertex color data between Blender and OpenSubdiv so for now we simply disable OpenSubdiv in the paint modes. Safe for 2.78.
2016-08-16Fix depsgraph to compute more accurate links for collision & force.Alexander Gavrilov
Current implementation more or less indiscriminately links physics objects to colliders and forces, ignoring precise details of layer checks and collider groups. The new depsgraph seemed to lack some such links at all. The relevant code in modifiers suffers from a lot of duplication. Different physics simulations use independent implementations of collision and similar things, which results in a lot of variance: * Cloth collides with objects on same or visible layer with dupli. * Softbody collides with objects on same layer without dupli. * Non-hair particles collide on same layer with dupli. * Smoke uses same code as cloth, but needs different modifier. * Dynamic paint "collides" with brushes on any layer without dupli. Force fields with absorption also imply dependency on colliders: * For most systems, colliders are selected from same layer as field. * For non-hair particles, it uses the same exact set as the particles. As a special quirk, smoke ignores smoke flow force fields; on the other hand dependency on such field implies dependency on the smoke domain. This introduces two utility functions each for old and new depsgraph that are flexible enough to handle all these variations, and uses them to handle particles, cloth, smoke, softbody and dynpaint. One thing to watch out for is that depsgraph code shouldn't rely on any properties that don't cause a graph rebuild when changed. This was violated in the original code that was building force field links, while taking zero field weights into account. This change may cause new dependency cycles in cases where necessary dependencies were missing, but may also remove cycles in situations where unnecessary links were previously created. It's also now possible to solve some cycles by switching to explicit groups, since they are now properly taken into account for dependencies. Differential Revision: https://developer.blender.org/D2141
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
2016-07-31simplify redundant conditionalsMike Erwin
The redundant terms were harmless but check an expression we already know to be true (from earlier in the same conditional). Found by PVS-Studio T48917
2016-07-21Cleanup: warningsCampbell Barton
2016-07-14Use BMesh solver for new boolean modifiersCampbell Barton
2016-07-13Boolean Modifier: Add back BMesh optionCampbell Barton
There are still issues with overlapping geometry, however some of the issues reported are are causing problems, or fail entirely with Carve too.
2016-07-11Depsgraph: Fix crash in Weight VG modifierSergey Sharybin
2016-07-08Cleanup: use normalize_v#_lengthCampbell Barton
2016-07-07Cleanup: spelling, styleCampbell Barton
2016-07-02Cleanup: comment blocksCampbell Barton
2016-07-01BMesh: make toolflags optionalCampbell Barton
Saves 8 bytes per vert/edge/face. Gives overall ~20-25% memory saving for dyntopo sculpting and modifiers that use BMesh.
2016-06-23Fix T48658: Cycles render & render preview corrupts particlesCampbell Barton
Replaces `G.is_rendering` with `use_render_params` argument. This is needed for Cycles, which attempts to restore render-preview settings from particles, after it gets its own particle data, but fails to restore because `G.is_rendering` was being checked in psys_cache_paths (and other places).
2016-06-07Fix (unreported) EditNormal modifier: broken 'flip poly' feature.Bastien Montagne
Newly computed custom normals were forgotten during poly flipping, leading to wrong custom normals being assigned to wrong loop... Dead simple, but was tough to track down this one!
2016-06-06EditNormal modifier: add some 'maximum angle' limit.Bastien Montagne
Allows to avoid generating flipped faces when using extreme normal modifications. Related to T48576.
2016-06-02ShapeKey was missing lattice-flagCampbell Barton
missed from 7a8bd2eae
2016-05-31Cleanup: parenthesize definesCampbell Barton
2016-05-18Fix T47737: Lattice crashes w/ smooth modifierPhilipp Oeser
Add flag for modifiers that support lattice
2016-05-17C99/C++11: replace deprecated finite() by isfinite().Brecht Van Lommel
2016-05-11Depsgraph: Add some missing relationsSergey Sharybin
Those cases requires not only geometry component, but also a transform one to be ready before evaluation can start.
2016-05-06Cleanup: warningsCampbell Barton
Values set but not used
2016-05-05Cleanup: rename getepsilon -> get_epsilonCampbell Barton
2016-04-25Cleanup: use boolCampbell Barton
2016-04-11Fix T48084: Solidify uses alternate quad-directionCampbell Barton
This prevents twisted quads from self-intersecting. This change makes the duplicate surface match the first vertex in the face, so the diagonal indices match in the face copy.
2016-03-25Fix T47928: Crashing save corruption with dynamic paint drip effector groups.Bastien Montagne
Dynapaint's `foreachIDLink` was mnot handling effector_weights->group pointer...
2016-03-11Fix crash adding EditNormals modifier to NURBS object (or other types but mesh).Bastien Montagne
Kinda stupid, but that eModifierTypeFlag_AcceptsCVs could really use a comment alongside its definition! Safe to be backported to 2.77.
2016-03-07Simple Deform modifier: invert vgroup optionCampbell Barton
D1839 from @Orgold
2016-03-03Docs: comment on poly flipping w/ solidifyCampbell Barton
2016-03-02Cleanup: style, and --help editsCampbell Barton
2016-02-28Fix T42536: Normals modifier: Generated normals can be opposed to face one, ↵Bastien Montagne
needs winding flipping in this case.
2016-02-15Cleanup: reorganize BKE ID tagging functions.Bastien Montagne
BKE_main_id_tag_/BKE_main_id_flag_ were horrible naming now that we split those into flags (for presistent one) and tags (for runtime ones). Got rid of previous 'tag_' functions behavior (those who were dedicated shortcuts to set/clear LIB_TAG_DOIT), so now '_tag_' functions affect tags, and '_flag_' functions affect flags.
2016-02-11correct error in last commitCampbell Barton
2016-02-11Disable bmesh-boolean modifier for 2.77 releaseCampbell Barton
Edit-mode boolean is still available
2016-01-30Fix T46455: Array modifier could generate chained mapping of vertices, ↵Bastien Montagne
leading to corrupted geometry. That was the main issue (in both T46455 and T46690), solved by 'flattening' those chains (v1 -> v2 ->v3 etc.) before calling `CDDM_merge_verts()`. Also added note to `CDDM_merge_verts()` that it does not support chained mapping, along with a basic assert that should catch most of those cases in future. The logic of 'following mapping' was also rather broken, making a special case here when using object-controlled offset is very weak. Further more, blindly following mapping in this case was far from ideal, this could end to merging vertices rather far from each other. To address this issue, we now always follow mapping, but only as long as 'final' vertex remains close enough from mapped one. Finally, the search of 'closest' vertex to merge with was also quite bad, would just pick the first one matching distance limit, instead of using the actual closest one - could lead to rather ugly geometry deformations in case one would use not-so-small merge threashold!
2016-01-30Fix memory leak in hook modifier's data copySergey Sharybin
2016-01-16Cleanup: BLI_task - API changes.Bastien Montagne
Based on usages so far: - Split callback worker func in two, 'basic' and 'extended' versions. The former goes back to the simplest verion, while the later keeps the 'userdata_chunk', and gets the thread_id too. - Add use_threading to simple BLI_task_parallel_range(), turns out we need this pretty much systematically, and allows to get rid of most usages of BLI_task_parallel_range_ex(). - Now BLI_task_parallel_range() expects 'basic' version of callback, while BLI_task_parallel_range_ex() expectes 'extended' version of the callback. All in all, this should make common usage of BLI_task_parallel_range simpler (less verbose), and add access to advanced callback to thread id, which is mandatory in some (future) cases.
2016-01-14Cleanup: use BM_mesh_* prefix for BMesh functionsCampbell Barton