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-09-28cleanupJacques Lucke
2020-09-28Merge branch 'master' into mesh-to-volume-modifierJacques Lucke
2020-09-28Fix T81214: Crash on Action constraint without actionSybren A. Stüvel
A `NULL` pointer check was missing.
2020-09-26Fix Face Set overlay rendering wrong color with modifiersPablo Dobarro
face_set_color_default was not copied when copying meshes, so when extracting the colors in the draw cache it was using a wrong default color ID. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8957
2020-09-25Animation: set Action `idroot` at assignment instead of just at evaluationSybren A. Stüvel
Actions are either locked to a specific ID type, or "floating". Actions in the floating state are now locked when they are assigned to an ID block. Previously (rB94b99b5d4a7c20cf2) this was done at evaluation time, which caused various problems: - The ID type was set on the evaluated copy, and inconsistently flushed back to the original. - A newly created Action could not be assigned to an Action constraint, unless a depsgraph evaluation was be forced first. This is now resolved by calling `BKE_animdata_set_action()` to set the action (instead of direct assignment) where possible, and calling `BKE_animdata_action_ensure_idroot()` otherwise. Manifest Task: https://developer.blender.org/T80986
2020-09-25Cleanup: animation, deduplicate "can edit action" logicSybren A. Stüvel
Move "action editable" check from RNA code to Blender kernel `BKE_animdata_action_editable()`. No functional changes.
2020-09-25Cleanup: document and simplify `BKE_animdata_set_action()`Sybren A. Stüvel
Simplify `BKE_animdata_set_action()` by flipping some conditions and using early returns, and document which parameters can be `NULL`. No functional changes.
2020-09-25Merge branch 'master' into mesh-to-volume-modifierJacques Lucke
2020-09-25Modifiers: add StructRNA pointer field to ModifierTypeInfoJacques Lucke
This reduces the number of places that have to be modified when a new modifier is added. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D9000
2020-09-25Modifiers: add icon field to ModifierTypeInfoJacques Lucke
With this change `outliner_draw.c` does not have to be edited anymore when a new modifier is added. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D8998
2020-09-25cleanup and commentsJacques Lucke
2020-09-24Fix part of asserts in LibOverride when resynching.Bastien Montagne
We can only re-apply overrides fron the old local overrides to the newly generated ones after all IDs have been properly remapped and renamed. Otherwise override operations based on ID names may fail. Related to T81059, found while investigating it.
2020-09-24Fix LibOverride Resync generating orphaned data-blocks.Bastien Montagne
Part of the code handling deletion of old, not needed anymore local override IDs, was not working properly, effectively only deleting one ID ever. New code should also be a bit faster, though this should not be really visible from user perspective. Related to T81059, found while investigating it.
2020-09-24Fix crash related to liboverride differential operations code.Bastien Montagne
Root of the issue is how we generate the storage ID for the differential override operations. However, since those are disabled anyway currently, simply comment out creation of this copy for now, we can revisit this if/when we decide to re-activate differential overrides. Related to T81059, found while investigating it.
2020-09-24Cleanup: Break early in normal validationSebastian Parborg
Before we would continue checking normal array values even if we knew that the normal array would be conidered valid. Break early to avoid excess iterations and make the code more clear what it is doing. No functional changes.
2020-09-24Fix normal computation in opensubdiv when surface derivates are the sameSebastian Parborg
In very rare occations, the returned derivates would be the same. This would lead to the normal calculation breaking (zero normals). Solution: Add this edge case to the other corner case checks. Reviewed By: Sergey
2020-09-24Fix T80874: Actions inside NLA Strips are not copied to buffer/appendSybren A. Stüvel
Restore NLA Action expansion code that was accidentally removed in rBbed634c4f96.
2020-09-24Cleanup: NLA, refactor condition, use early returnSybren A. Stüvel
Simplify code by replacing `if (strip) { everything; }` with `if (strip == NULL) { return; }`. No functional changes.
2020-09-24Cleanup: spellingCampbell Barton
2020-09-23Fluid: Fix clang-tidy errorSebastián Barschkis
Issue was introduced in rB8d1123ba220b.
2020-09-23Fix T80833: Fluid Initial Velocity 'Source' incorrect when enabling InflowSebastián Barschkis
Do not escape flow / effector objects if they have a disabled use flow / use effector flag. Vertex velocities still need to be kept track of in order to have correct object velocities when enabling flows / effectors intermittenly. It is possible though to skip the emission loop if the flags are disabled.
2020-09-23Cleanup: remove dead code in point cache and openvdb wrapperJacques Lucke
Reviewers: brecht Differential Revision: https://developer.blender.org/D8988
2020-09-23Cleanup: remove last uses of WITH_SMOKEJacques Lucke
2020-09-23Cleanup: remove smoke code from pointcacheJacques Lucke
This code is not used by the new fluid simulation system. Therefore, it does not make sense to keep it around. We do want to integrate the fluid system with the generic cache system eventually, but refactoring the system is easier when there is less dead code that has to be refactored. Note, I could not remove BKE_ptcache_id_from_smoke entirely yet, because the depsgraph seems to expect that object that uses DEG_add_collision_relations also has a pointcache. That is because it wants to reset the point cache when any of the other objects changed (this does not work with fluids currently). Reviewers: sebbas Differential Revision: https://developer.blender.org/D8987
2020-09-23LibOverride: Add operator to convert a proxy object into an override.Bastien Montagne
In the end the process is surpringly simple, we only need to manually convert the proxy itself into an override (which is trivial), and then run common code with the default 'make override' operation. Fix T81059: Add operator to convert proxies to library overrides.
2020-09-23Fix (unreported) LibOverride: RNA asserts when applying overrides.Bastien Montagne
Some RNA setters require ID data they operate on to be in G_MAIN. Unfortunately, when we apply overrides as part of a .blend file reading, new Main is not yet made global one, so we have to do it temporarily here. This is a fairly ugly hack, but it should be harmless and safe.
2020-09-23LibOverride: Tweak override creation code.Bastien Montagne
This is a first step towards supporting conversion of proxies, done separately to make it easy to pinpoint in case it would create problems. It is not expected to cause any change in behavior currently.
2020-09-23Fix T68024: Crash from missing original-index mesh layerCampbell Barton
Constructive modifiers were not initializing an original index layer in the case a previous deform modifier created 'mesh_final'. This happened in the case of multiple deform modifiers that deform along normals, as requesting normals caused the final mesh to be created. Ensure mapping data is created in the case only non-constructive modifiers have run.
2020-09-23Cleanup: re-order constructive modifier checksCampbell Barton
Minor changes to simplify fix (coming next), no functional changes.
2020-09-22MeshAnalysis: Optimize the detection of intersecting geometryGermano Cavalcante
For the self overlap result, each intersection pair does not need to be tested twice.
2020-09-22Refactor for effector / collider velocitiesSebastián Barschkis
This refactor is in response to an unreported bug in which overlapping, moving colliders produced an unstable simulation. Things that change apart from cleanup through this refactor: - Effector objects with no velocities (either non-animated or animated but non-moving object) will explicitly set zero velocities in their flow bounding box. - When applying object velocities to the global grid, they will now be accumulated per cell (add and not set velocities). Later they will be averaged with the object count at any cell.
2020-09-22Fix T81026: Image Editor: Alpha (like Bloom) not showing properlyJeroen Bakker
With the new image editor drawing there were was some mutual exclusive functionality. When rendering the alpha was shown correctly or the pure emissive colors were shown correctly, but never both. The cause of this is that the image_gpu did not used the correct alpha mode when generating gpu textures for non-images (render results, compositors viewer) The implementation always checked the alpha_mode. Alpha mode is an attribute for images, but aren't set for non images. This patch adds a more detailed check to ensure that the gpu texture is premultiplied. The issue has been tested using several bug report files and production files. Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D8978
2020-09-22Cleanup: reduce variable scopesJacques Lucke
2020-09-22Object: check for negative index access with duplicator reading UV'sCampbell Barton
2020-09-21GPencil: New Trace images using PotraceAntonio Vazquez
This patch adds a new operator to convert a black and white image into grease pencil strokes. If the image is not B/W, an internal conversion is done. This is the first operator using Potrace, but we expect to add more features in next Blender versions. Reviewed By: HooglyBoogly Maniphest Tasks: T79877 Differential Revision: https://developer.blender.org/D8951
2020-09-21Various fixes in UI messages.Bastien Montagne
Along some other typos in comments or variable names.
2020-09-21Cleanup: move some paint helpers to ED_ 'namespace'.Bastien Montagne
Those two functions had `BKE_` prefix, were defined in BKE headers, but implemented in ED code, yuck. Moved everything to ED area for now, since those do not look fondamental enough to belong to BKE, and none of their usages requires it currently.
2020-09-21Implement ID properties support for TimeMarkerSergey Sharybin
Allows scripters to store additional information in the marker itself instead of using work-around approach based on marker names and such. Differential Revision: https://developer.blender.org/D8944
2020-09-21Fix T79965: mesh.transform() modifies referenced layersSergey Sharybin
Originally was noticed when transforming mesh created by object.to_mesh() from an object without modifier, in which case the result references CustomData layers used by the object itself. The issue goes a bit deeper: mesh.transform() should never modify referenced layers, hence it should duplicate referenced layers. This fix changes one specific aspect of the reported behavior. The case where vertices coordinates are modified manually will still have affect on the source mesh (as no referenced CustomData layers are being duplicated). Proper fix for this case is not yet clear to me. Differential Revision: https://developer.blender.org/D8939
2020-09-21Fix T59272: dead particles not included in render, but visible in viewportJacques Lucke
The issue was that the pointcache was not storing dead particles, even though they are displayed. This lead to the rendering issue, because only alive particles can be read from the point cache in the frame that is rendered. This also fixes an issue unrelated to rendering: when dead particles are displayed, their position is incorrect when some frames are skipped during playback. Reviewers: brecht Differential Revision: https://developer.blender.org/D8907
2020-09-21Fix T66614: Text objects: Truncate overflow for non-top aligned textDalai Felinto
2020-09-20Sanitize type 'size' parameters in our read/write file codeBastien Montagne
This patch tries to sanitize the types of our size parameters across our read and write code, which is currently fairly inconsistent (using `int`, `uint`, `size_t`...), by using `size_t` everywhere. Since in Blender file themselves we can only store chunk of size `MAX_INT`, added some asserts to ensure that as well. See {T79561} for details. Differential Revision: https://developer.blender.org/D8672
2020-09-20IDProperties: Add utils to duplicate content of one IDProp into another.Bastien Montagne
2020-09-19Cleanup: use parenthesis for if statements in macrosCampbell Barton
2020-09-19Cleanup: consistent TODO/FIXME formatting for namesCampbell Barton
Following the most widely used convention for including todo's in the code, that is: `TODO(name):`, `FIXME(name)` ... etc.
2020-09-19Cleanup: spellingCampbell Barton
2020-09-18Curves: Allow caps for all geometry typesHans Goudey
I think this wasn't allowed before because the section of a curve was built in multiple parts. But since rBe34d3e32dda7, the whole slice of a curve is built in one piece, so we can easily support curve caps for all geometry types, including the new custom profile option. Note that this also allows "caps" when the fill type is not full. They could easily be disabled by checking for "Full" fill type if that was preferred in the future. See the patch for images. Differential Revision: https://developer.blender.org/D8911
2020-09-18Sculpt: Render Mask and Face Sets with modifiers activePablo Dobarro
This removes the limitation of the sculpt overlays not being visible with modifiers active. Reviewed By: fclem Maniphest Tasks: T68900 Differential Revision: https://developer.blender.org/D8673
2020-09-18Cleanup: remove unused navmesh codePhilipp Oeser
These were leftovers from the BGE removal. Differential Revision: https://developer.blender.org/D8862
2020-09-18Cleanup: change enum usage so types are explicitly listedCampbell Barton
Structure switch statements so new missing items cause warnings.