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-10-01Cleanup: typo in commentPhilipp Oeser
2020-10-01remove foreachObjectLink callbackJacques Lucke
This removes `foreachObjectLink` from `ModifierTypeInfo`, `GpencilModifierTypeInfo` and `ShaderFxTypeInfo`. There is no need to have both, `foreachObjectLink` and `foreachIDLink`. There is not code that actually depends on `foreachObjectLink`. Reviewers: brecht Differential Revision: https://developer.blender.org/D9078
2020-10-01Volumes: support lower resolution in viewportJacques Lucke
The adds a new option to simplify volumes in the viewport. The setting can be found in the Simplify panel in the render properties. Volume objects use OpenVDB grids, which are sparse. For rendering, we have to convert sparse grids to dense grids (for now). Those require significantly more memory. Therefore, it's often a good idea to reduce the resolution of volumes in the viewport. Reviewers: brecht Differential Revision: https://developer.blender.org/D9040 Ref T73201.
2020-10-01Fix subdivision surface wrong for non-limit surface and subdivision level 1Brecht Van Lommel
Remove the workaround for T59395 that increases the minimal refinement to 2 to work around an OpenSubdiv bug. This bug appears to be fixed in the latest OpenSubdiv version we are using. Problem found by Piotr Ostrowski. Ref D9076
2020-10-01Cleanup: make texture coordinates constJacques Lucke
2020-10-01Volumes: copy display settings in BKE_volume_new_for_evalJacques Lucke
2020-10-01Fix T81248: World nodetree action is linked after duplicationPhilipp Oeser
This was already changed for Material nodetrees on duplication in rBa75ac18638f4. Since it is not obvious from the UI how change World actions - and to be consistent with Material actions, it is best to copy the action as the default behavior. So use generic BKE_id_copy functions with LIB_ID_COPY_ACTIONS flag [which also enables us to get rid of `BKE_world_copy`] Note: taking the User Preference `USER_DUP_ACT` into account here (for both material and world actions) could be a followup step. Maniphest Tasks: T81248 Differential Revision: https://developer.blender.org/D9046
2020-10-01Fix T81267: bad handling of usercount for actions duplicated with some animdata.Bastien Montagne
Those actions are full proper IDs and should therefore not be affected by flags used to duplicate 'owner' ID own data.
2020-10-01Cleanup: clang-formatBrecht Van Lommel
2020-09-30Cleanup: Remove unused View2D variables and functionHans Goudey
It looks like this code was left over from tabbed panels in the properties editor. It wasn't used anywhere except for in one line of the horizontally-aligned panel code that was recently removed. Differential Revision: https://developer.blender.org/D8651
2020-09-30Subdivision Surfaces: add boundary smooth option to modifiersPiotr Ostrowski
This adds the option to either smooth the entire boundary, or to keep corners sharp, for the Subdivision Surface and Multiresolution modifiers. This mainly helps with compatibility with other software. The default behavior remains to smooth the entire boundary. Differential Revision: https://developer.blender.org/D8485
2020-09-30Tracking: Implement Brown-Conrady distortion modelIvan Perevala
Implemented Brown-Conrady lens distortion model with 4 radial and 2 tangential coefficients to improve compatibility with other software, such as Agisoft Photoscan/Metashapes, 3DF Zephir, RealityCapture, Bentley ContextCapture, Alisevision Meshroom(opensource). Also older programs: Bundler, CPMVS. In general terms, most photogrammetric software. The new model is available under the distortion model menu in Lens settings. For tests and demos check the original patch. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9037
2020-09-30Cleanup: convert gforge task ID's to phabricator formatValentin
Cleanup old tracker task format to the new. e.g: [#34039] to T34039 Ref D8718
2020-09-30Cleanup: spellingCampbell Barton
2020-09-30Cleanup: use angle-brackets for email addressesCampbell Barton
This is already the most widely used convention. Use this so `make check_spelling_c` will ignore all email addresses.
2020-09-30Cleanup: sort struct declarationsCampbell Barton
2020-09-29Sculpt: Preserve Mesh visibility from edit mode using the Face SetsPablo Dobarro
Before this change, when users switch from edit mode to sculpt mode, the entire mesh would be visible. Even if in the edit mesh mode part of it was set to invisible. With this change the visibility is preserved, by creating a separate face set for the visible and invisible parts of the mesh and setting their initial visibility. Implementation details: This adds a function to initialize a new Face Set datalayer taking the current mesh visibility into account which is stored in the ME_HIDE flag of the vertices. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8901
2020-09-29Fix unreported Eisenbug leading to a crash when reading a blend file.Bastien Montagne
This took more than a day to fully investigate and understand, one of the reasons being that the probability of the issue to show up was extremely low, and subjected to very specific random factors. Root of the issue is that, in some very rare cases, a newly read ID might get the exact same memory address as the one it had when the blend file was saved. In that case, `BKE_workspace_active_set` would return immediately, since the pointer to the active workspace would remain unchanged. But that lead to having an unset NULL active layout pointer, which would crash when attempting to get e.g. the active screen. For the record, I ran into this when running a specific build (master with one flag added to the `LIB_ID_CREATE` ones, with value `1 << 3`), using a specific set of options (`--background --factory-startup -noaudio`), and passing the .blend file from T80090 as argument.
2020-09-29Fix T71981: Alembic vertex interpolation can jumble meshSybren A. Stüvel
Add an option to disable Alembic vertex interpolation. Bump subversion from 5 to 6. Alembic stores mesh samples at specific time keys; when a frame in Blender maps to a timecode between two samples, Blender will interpolate the mesh vertex positions. This interpolation only happens when the mesh has a constant topology, but sometimes this was not detected properly when the vertices change order, but the number of mesh elements remains the same. This would result in a mesh with jumbled up vertices (T71981). With this patch, users have the ability to disable vertex interpolation. An alternative would be to have better detection of topology changes, but that that'll cause a considerable slowdown. Maniphest Tasks: T71981 Differential Revision: https://developer.blender.org/D9041
2020-09-29Volumes: new Mesh to Volume modifierJacques Lucke
This modifier can only be added to Volume objects. It takes a mesh as input and generates a "density" grid near the surface or in the enclosed volume. Ref T73201. Reviewers: brecht Differential Revision: https://developer.blender.org/D9032
2020-09-29Volumes: support selection and outlines in viewportJacques Lucke
Previously, one could only select a volume object in the outliner or by clicking on the object origin. This patch allows you to click on the actual volume. Furthermore, the generated (invisible) mesh that is used for selection is also used to draw an outline for the volume object now. Reviewers: brecht Differential Revision: https://developer.blender.org/D9022
2020-09-29Quiet unused variable warningJacques Lucke
2020-09-29Cleanup: spellingCampbell Barton
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-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-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.