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
2019-08-01Fix T66040: Make Data Transfer' Mix Factor multiply with vgroup weights when ↵Bastien Montagne
given, instead of ignoring it. Brings behavior of those options in line with the VGroup editing modifiers ones e.g.
2019-07-31Refactor access to dependency graphSergey Sharybin
This change ensures that operators which needs access to evaluated data first makes sure there is a dependency graph. Other accesses to the dependency graph made it more explicit about whether they just need a valid dependency graph pointer or whether they expect the graph to be already evaluated. This replaces OPTYPE_USE_EVAL_DATA which is now removed. Some general rules about usage of accessors: - Drawing is expected to happen from a fully evaluated dependency graph. There is now a function to access it, which will in the future control that dependency graph is actually evaluated. This check is not yet done because there are some things to be taken care about first: for example, post-update hooks might leave scene in a state where something is still tagged for update. - All operators which needs to access evaluated state must use CTX_data_ensure_evaluated_depsgraph(). This function replaces OPTYPE_USE_EVAL_DATA. The call is generally to be done in the very beginning of the operator, prior other logic (unless this is some comprehensive operator which might or might not need access to an evaluated state). This call is never to be used from a loop. If some utility function requires evaluated state of dependency graph the graph is to be passed as an explicit argument. This way it is clear that no evaluation happens in a loop or something like this. - All cases which needs to know dependency graph pointer, but which doesn't want to actually evaluate it can use old-style function CTX_data_depsgraph_pointer(), assuming that underlying code will ensure dependency graph is evaluated prior to accessing it. - The new functions are replacing OPTYPE_USE_EVAL_DATA, so now it is explicit and local about where dependency graph is being ensured. This commit also contains some fixes of wrong usage of evaluation functions on original objects. Ideally should be split out, but in reality with all the APIs being renamed is quite tricky. Fixes T67454: Blender crash on rapid undo and select Speculation here is that sometimes undo and selection operators are sometimes handled in the same event loop iteration, which leaves non-evaluated dependency graph. Fixes T67973: Crash on Fix Deforms operator Fixes T67902: Crash when undo a loop cut Reviewers: brecht Reviewed By: brecht Subscribers: lichtwerk Maniphest Tasks: T67454 Differential Revision: https://developer.blender.org/D5343
2019-06-15Cleanup: Rename: Static Override -> Library Override.Bastien Montagne
Better to make internal code naming match official/UI naming to some extent, this will reduce confusion in the future. This is 'breaking' scripts and files that would use that feature, but since it is not yet officially supported nor exposed in 2.80, as far as that release is concerned, it is effectively a 'no functional changes' commit.
2019-06-03Cleanup: style, use braces in RNACampbell Barton
2019-05-20Cleanup: reorder report argument for pointer assignmentCampbell Barton
Most code uses ReportList argument last (or at least not first) when an optional report list can be passed in.
2019-05-17Python: Raise an error even NO_MAIN data is assigned to objectSergey Sharybin
The goal is to prevent assignment of temporary or evaluated meshes to objects from the main database. Majority of the change is actually related on passing reports around. On a positive side there are more error prints which can become more visible to scripters. There are still possible further improvements in the related areas. For example, disable user counting for evaluated ID datablocks when assignment happens. But can also happen later on as a separate improvement. Reviewers: brecht, campbellbarton, mont29 Reviewed By: brecht Differential Revision: https://developer.blender.org/D4884
2019-05-09I18n disambiguation: setting particles' parent/children appart.Bastien Montagne
Looks like in some languages common generic parent/child relationship does notn apply well to those. Part of T43295.
2019-05-07RNA: provide access to the vertex index array of the Hook modifier.Alexander Gavrilov
This allows creating hooks completely without the use of operators. Also fix subtarget to actually recompute the inverse matrix. In order to follow the vertex_indices_set function naming convention, it is necessary to fix makesrna to avoid a naming conflict between the function wrapper and the property accessor by adding a tag. Differential Revision: https://developer.blender.org/D4798
2019-05-01Alembic: integrate cache file into the dependency graphBrecht Van Lommel
* The cache file datablock is now evaluated as part of the dependency graph, creating/freeing the Alembic file handle matching the current frame. Modifiers and constraints depend on this evaluation. * Cache file handles and readers now only exist on COW datablocks, never the original ones. * Object data paths are flushed back to the original for the user interface. * The cache file keeps a list of all readers associated with its handle, and automatically frees them when the handle is freed. This kind of sharing of data across datablocks is weak but we have no better mechanism for it. Fix T62720: Alembic sequences not working and crashing Differential Revision: https://developer.blender.org/D4774
2019-04-29Fix T59848: precisely represent the dependencies of Armature modifier.Alexander Gavrilov
When the modifier uses vertex groups, the set of the bones it actually needs is precisely defined by the set of the group names. If envelopes are enabled, this refinement is not available, because any bone can potentially be used. This can be used in the dependency graph construction to allow objects deformed by a part of the armature to be used in constraints on other bones, e.g. for placing cartoon-style face elements on top of the body mesh via Shrinkwrap constraints. Since the list of vertex group names is now used as an input by the dependency graph, adding/removing/renaming groups should now be triggering a graph rebuild. Differential Revision: https://developer.blender.org/D4715
2019-04-21Cleanup: comments (mainly long lines)Campbell Barton
Comments after code can cause awkward line breaks.
2019-04-17ClangFormat: format '#if 0' codeCampbell Barton
Previous cleanups didn't account for space after '#'.
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-05Fix T63283: Second subdivision modifier does not ignore creaseSergey Sharybin
This is something where there is no single correct behavior, sometimes it's needed to ignore the crease to make mesh more smooth. But sometimes crease is to be considered after first subdivision surface: for example, when adding extra subdivisions for render-time displacement. Made it an option whether modifier needs to take crease into account or not. Existing files should be openable in the 2.7 compatible way, to re-create an old behavior the options is to be manually disabled in the modifier settings. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4652
2019-04-01Fix T62960: Expanding/Closing Constraints/Modifiers causes re-renderSergey Sharybin
Mark specific properties as no-dependency-graph tag. This is needed to avoid a centralized Copy-on-Write tag from RNA pointer update.
2019-03-22Modifiers: add minimum number of vertices to triangulate modifier.Ish Bosamiya
This lets you only triangulate n-gons when setting the number to 5 or more. Differential Revision: https://developer.blender.org/D4367
2019-03-15Cleanup: indentation, wrappingCampbell Barton
Mostly functions wrapping args, not confirming to our style guide.
2019-03-07Refactor CDData masks, to have one mask per mesh elem type.Bastien Montagne
We already have different storages for cddata of verts, edges etc., 'simply' do the same for the mask flags we use all around Blender code to request some data, or limit some operation to some layers, etc. Reason we need this is that some cddata types (like Normals) are actually shared between verts/polys/loops, and we don’t want to generate clnors everytime we request vnors! As a side note, this also does final fix to T59338, which was the trigger for this patch (need to request computed loop normals for another mesh than evaluated one). Reviewers: brecht, campbellbarton, sergey Differential Revision: https://developer.blender.org/D4407
2019-02-28'Fix' T61942: Triangulate modifier breaks custom normals.Bastien Montagne
Not a bug, but supporting preservation of custom normals in that specific modifier makes sense, in game pipeline contexts. Could also ease work of IO add-ons that want to export triangulated geometry...
2019-02-26Bevel mod: cleanup flags and extra data.Howard Trickey
Removed a clnors field unneeded after a recent refactor. Finished deprecation of flags that haven't been used since pre-bmesh.
2019-02-25Fix (unreported) broken code in RNA's datatransfer source layer enum function.Bastien Montagne
Using a CDLayer data type instead of expected mask... tsst... ;)
2019-02-20Units: Use units for smokeWilliam Reynish
-Use factor for flame_vorticity, slice_depth, density & volume_density -Use distance for surface_distance -Use factor for mix factor in Data Transfer modifier -Use prop_translation for pivot constraint offset
2019-02-20RNA: use factor when appropriateWilliam Reynish
- Many factor properties were set to PROP_NONE, even properties that had 'Factor' in the name! - Some time properties were not set to PROP_TIME, especially in Particles. - Changed motion_blur_shutter to use a soft max value of 1 instead of 2. Anything > 1 here is not physically correct and makes no real logical sense. - Changed display name of Dynamic Paint dissolve_speed to Dissolve Time, since it's a time property, not speed.
2019-02-19Units: Fix some property subtypesVaishnav S
This commit only contains some of the changes in the diff. Some require more discussion/work. Differential Revision: https://developer.blender.org/D4337
2019-02-18RNA: use distance unitsWilliam Reynish
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-12Fix T51771: UI Messages: Reserve 'Normal' to its geometric meaning.Bastien Montagne
Using 'Regular' instead for the common meaning, this avoids having to add some i18n context disambiguation...
2019-02-12Modifiers: Make Difference default operation for boolean modifier.Bastien Montagne
Make Difference a default value for boolean modifier operation property. Currently operation property of the boolean modifier is set to Intersect, which is the least frequently used boolean operation of the three available. It is also goes out of sync with Intersect (Boolean) tool, where Difference is a default operation. Reviewers: mont29, brecht, sergey Reviewed By: mont29, brecht, sergey Subscribers: mont29, brecht, campbellbarton, sergey, billreynish Tags: #modifiers Differential Revision: https://developer.blender.org/D4340
2019-02-11Fix T61185: Missing modifiers update on changes to texturePhilipp Oeser
Also update relations when modifier texture changes. Basically same as rB6e00415a85a9, rBca2680aaeb1 but this time for VertexWeight modifiers Reviewers: sergey Maniphest Tasks: T61185 Differential Revision: https://developer.blender.org/D4305
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-27Fix: Use correct units in Shrinkwrap modifierŁukasz Kwoska
Differential Revision: https://developer.blender.org/D4261
2019-01-19Fix bevel modifier spread value bug.Howard Trickey
Was using same field as value, by mistake.
2019-01-18Add miter pattern options.Howard Trickey
Will document the new options in release notes, then in manual. Still a bit of work to do on the bulging shape that appears on cube corners if using arc inner miters, but will do that later. Also need to do something smarter in clamp overlap.
2019-01-07Fix T59151 Bevel modifier has bad input width for percent.Howard Trickey
The units scaling was inappropriate when the bevel value was to be interpreted as a percent, so added a separate rna property for "Width Percent" and made UI show the width appropriate for current offset_type.
2019-01-03Fix T58113 Multiple problems with bevel harden normals.Howard Trickey
Move the bevel hardening code all into bmesh_bevel.c. Based on user feedback, rewrote the bevel hardening algorithm to be more what users want. Based on user feedback, changed the UI, removing some not-useful options. Now hardening normals while beveling is enabled by a simple checkbox. Now setting face strength gives options for which faces get their face strength set.
2018-12-24Fix/cleanup another bunch of UI messages issues.Bastien Montagne
Also (mostly in comments): behaviour -> behavior (we use American English).
2018-12-24Cleanup: First batch of UI messages fixes (typos, final points...).Bastien Montagne
Also contains some code typo fixes (mostly, adtaptative -> adaptive, former is nearly innexistant in English, let's stick to simple valid words ;) ).
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-12-06Update relations when modifier texture changesSergey Sharybin
2018-12-05Fix (unreported, related to T58210) LaplacianDeform binding state ↵Bastien Montagne
incorrectly reported by RNA. LaplacianDeform binding handling is a catastrophee in CoW context, because half of the binding (the laplacian solver cache thingy) is not saved, and can be re-generated on the fly from stored vcos. This means that binding is not only done when hitting 'bind' button, but also at file load, and when some things change. And this utterly breaks with CoW design, not sure how to fix, will add a task about that. But this also means that NULL laplacian solver cache pointer is not a good check to know whether it is binded or not, only stored vcos are relevant for that (and the binding flag, of course).
2018-12-03Data Transfer Modifier: fix mesh_get_eval_final usage.Alexander Gavrilov
It can't be used during modifier evaluation, and rna enum code should access the evaluated objects.
2018-11-26Enable OpenSubdiv modifier by defaultSergey Sharybin
This commit makes it so that subsurf/multires modifiers will respect the WITH_OPENSUBDIV option. The WITH_OPENSUBDIV_MODIFIER option is now gone. For artists it mean that subsurf modifier will behave same as it is planned for 2.80. Multires will now support sculpting, but it has some known limitations. Those will be worked on before the final release. If OpenSubdiv is disabled, no subsurf/multires functionality will present. For the details see: https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Modeling#Subsurf.2FMultires
2018-11-22Icons: use newly added iconsWilliam Reynish
2018-11-21Cleanup: use boolean array for mirror modifierCampbell Barton
2018-11-21Modifier: Mirror learns to bisect on planeCampbell Barton
D3966 by @kioku w/ edits. This adds bisect and flip options to mirror modifier.
2018-11-07Cleanup: remove some useless BKE_library and BKE_main includes.Bastien Montagne
Makes it simpler to make some changes... Also fix order of some includes (use alphabetical please).
2018-11-06Shrinkwrap: new mode that projects along the target normal.Alexander Gavrilov
The Nearest Surface Point shrink method, while fast, is neither smooth nor continuous: as the source point moves, the projected point can both stop and jump. This causes distortions in the deformation of the shrinkwrap modifier, and the motion of an animated object with a shrinkwrap constraint. This patch implements a new mode, which, instead of using the simple nearest point search, iteratively solves an equation for each triangle to find a point which has its interpolated normal point to or from the original vertex. Non-manifold boundary edges are treated as infinitely thin cylinders that cast normals in all perpendicular directions. Since this is useful for the constraint, and having multiple objects with constraints targeting the same guide mesh is a quite reasonable use case, rather than calculating the mesh boundary edge data over and over again, it is precomputed and cached in the mesh. Reviewers: mont29 Differential Revision: https://developer.blender.org/D3836
2018-11-02Fix issues with hide/restrict icons after recent changes.Brecht Van Lommel
Set the names to match the original order again, to avoid breaking addons and various places in the code that relied on them.