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
path: root/source
AgeCommit message (Collapse)Author
2020-07-08Cleanup: fix commentJacques Lucke
2020-07-08Apply Modifier: support applying as shape key and keeping the modifier.Alexander Gavrilov
This can be useful to save the result of a cloth simulation as a shape key without destroying the simulation, so it's possible to e.g. re-run it to get other shapes, or simply use the new shape key to start the simulation already in a draped state. It also makes sense to allow applying as shape key even when the mesh is shared, because the operation itself just adds a shape key. To support this, split the apply operator into Apply and Apply As Shapekey so that they can have different poll callbacks. Differential Revision: https://developer.blender.org/D8173
2020-07-07BLI: simplify copy constructor of ArrayJacques Lucke
2020-07-07Cleanup: fix typoJacques Lucke
2020-07-07Functions: cleanup loop that traverses the MFNetworkJacques Lucke
2020-07-07Functions: add generic functions that output constantsJacques Lucke
2020-07-07BLI: simplify copy constructor of vectorJacques Lucke
2020-07-07Functions: extend multi-function network apiJacques Lucke
2020-07-07BLI: provide access to underlying node in dot exporterJacques Lucke
2020-07-07Functions: Add debug print and destruct callback to CPPTypeJacques Lucke
2020-07-07Nodes: Generate multi-function network from node treeJacques Lucke
This adds new callbacks to `bNodeSocketType` and `bNodeType`. Those are used to generate a multi-function network from a node tree. Later, this network is evaluated on e.g. particle data. Reviewers: brecht Differential Revision: https://developer.blender.org/D8169
2020-07-07Fix T75943 EEVEE: Cubemaps shows blackClément Foucault
Caused by faulty driver implementation. Force fallback method.
2020-07-07Cleanup: Add braces for clang tidyHans Goudey
2020-07-07BLI: Correct spin lock definitionSergey Sharybin
The MSVC atomic function is defined for an unsigned type. Not sure why this became an issue after switch to TBB by default, maybe some CFLAGS changed to be more strict after that.
2020-07-07Fix: remove accidental codeGermano Cavalcante
`v1` and `v2` are already set.
2020-07-07Fix T77455: Blender Freezes when using the 3d Scale GizmoJeroen Bakker
Issue is reported on Linux ith Intel HD6xx iGPU. Inside `gpu_select_sample_query.c` the call to `glGetQueryObjectuiv` froze. After bisecting this lead to the polyline shader. When using a 3d color shader in stead of the polyline shader during selection seems to fix the issue. Other parts of blender might also be effective, but I wasn't able to freeze blender in these areas. When it does, we might want to add a similar work-around to button2d, cage2d, cage3d & move3d, navigate. Backport this patch to 2.83. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D8217
2020-07-07BLI: Fix mistake in SpinLock TBB migrationSergey Sharybin
Copy-paste mistake.
2020-07-07Optimization: use `BLI_bvhtree_intersect_plane` to detect faces that will be ↵Germano Cavalcante
affected by the knife tool The knife code currently calls the `BLI_bvhtree_overlap` function that tests the overlap between the mesh tree and an AABB that encompasses the points projected in the clip_start, clip_end and or clip_planes of the view. This resulted in many false positives since the AABB is very large. Often all the triangles "overlapped". The solution was to create a new function that actually tests the intersection of AABB with a plane. Even not considering the clip_planes of the view, this solution is more appropriate than using overlap. Differential Revision: https://developer.blender.org/D8229
2020-07-07Fix T78307 UI: Drawing artifacts in the Blender UI on macOSClément Foucault
This was due to a bad driver which was not respecting this bit of the specification: `If the current primitive does not originate from an instanced draw command, the value of gl_InstanceID is zero.`
2020-07-07IO: Reversed persistent ID order in exports to Alembic and USDSybren A. Stüvel
Each duplicated (a.k.a. instanced) object has a Persistent ID, which identifies a dupli within the context of its duplicator. This ID consists of several numbers when there are nested duplis (for example a mesh instancing empties on its vertices, where each empty instances a collection). When exporting to Alembic/USD, these are used to uniquely name the duplicated objects in the export. This commit reverses the order of the persistent ID numbers, so that the first number identifies the first level of recursion. This produces trees like this: ABC `--Triangle |--Triangle |--Empty-1 | `--Pole-1-0 | |--Pole | `--Block-1-1 | `--Block |--Empty | `--Pole-0 | |--Pole | `--Block-1 | `--Block |--Empty-2 | `--Pole-2-0 | |--Pole | `--Block-2-1 | `--Block `--Empty-0 `--Pole-0-0 |--Pole `--Block-0-1 `--Block It is now clearer that `Pole-2-0` and `Block-2-1` are instanced by `Empty-2`. Before this commit, they would have been named `Pole-0-2` and `Block-1-2`.
2020-07-07IO: Fix bug exporting dupli parent/child relationsSybren A. Stüvel
Exporting a scene to USD or Alembic would fail when there are multiple duplicates of parent & child objects, duplicated by the same object. For example, this happens when such a hierarchy of objects is contained in a collection, and that collection is instanced multiple times by mesh vertices. The problem here is that the 'parent' pointer of each duplicated object points to the real parent; Blender would not figure out properly which duplicated parent should be used. This is now resolved by keeping track of the persistent ID of each duplicated instance, which makes it possible to reconstruct the parent-child relations of duplicated objects. This does use up some memory for each dupli, so it could be heavy to export a Spring scene (with all the pebbles and leaves), but it's only a small addition on top of the USD/Alembic writer objects that have to be created anyway. At least with this patch, they're created correctly. Code-wise, the following changes are made: - The export graph (that maps export parent to its export children) used to have as its key (Object, Duplicator). This is insufficient to correctly distinguish between multiple duplis of the same object by the same duplicator, so this is now extended to (Object, Duplicator, Persistent ID). To make this possible, new classes `ObjectIdentifier` and `PersistentID` are introduced. - Finding the parent of a duplicated object is done via its persistent ID. In Python notation, the code first tries to find the parent instance where `child_persistent_id[1:] == parent_persistent_id[1:]`. If that fails, the dupli with persistent ID `child_persistent_id[1:]` is used as parent. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8233
2020-07-07IO: print export name instead of object name in debug export graph outputSybren A. Stüvel
This is just a change in `AbstractHierarchyIterator::debug_print_export_graph()` to aid in debugging. It'll make it possible to distinguish between different duplicates of the same object. No functional changes to Blender itself.
2020-07-07UI: Add units to motion tracking solve errorsJohan Walles
The unit being "pixels". Before this change the solve errors were unitless in the UI. With this change in place, the UI is now clear on that the unit of the reprojection errors is pixels (px). Differential Revision: https://developer.blender.org/D8000
2020-07-07Cleanup: remove redundant commentsJacques Lucke
Searching in these files for "_as" will reveal a comment at the top, that explains what these methods are for. There is no need to duplicate that knowledge all over the place.
2020-07-07Cleanup: use doxy commentsCampbell Barton
2020-07-07Cleanup: remove unused argumentsCampbell Barton
2020-07-07Cleanup: spellingCampbell Barton
2020-07-07Cleanup: unused World struct members linfac, logfacCampbell Barton
2020-07-06Cleanup: Use bool instead of intHans Goudey
2020-07-06UI: Add shortcuts for shader effect panelsHans Goudey
Only the delete shortcut applies here, although the move up and down operators can optionally be assigned in the keymap. See rB1fa40c9f8a81 for more details and rB5d2005cbb54b for the grease pencil modifier panel implementation, which is the same.
2020-07-06Cleanup: Use the BLI_edgehash API in the sewing simulation of clothsGermano Cavalcante
Also remove the code in the ghash that is no longer used. This change simplifies the existing code. Differential Revision: https://developer.blender.org/D8219
2020-07-06Fix T77730: ShaderFx Missing Update NotifierHans Goudey
This adds a notification type for shaderfx so the properties editor can be properly notified to redraw. Another possible solution would be to also redraw the shaderfx tab with a ND_MODIFIER update, but this solution allows us to avoid some unecessary redraws too. There were no existing cases of ND_OBJECT | NC_MODIFIER updates, so those cases were removed from buttons_area_listener. Differential Revision: https://developer.blender.org/D8159
2020-07-06BLI: add methods to lookup a stored key in a setJacques Lucke
2020-07-06Cleanup: readfile: remove old deprecated OldNewMap for runtime caches.Bastien Montagne
2020-07-06Runtime cache preservation during undo: add support for nodes and embedded IDs.Bastien Montagne
2020-07-06Reduce `DupliObject::persistent_id` from 16 to 8 itemsSybren A. Stüvel
For historical reasons, `DupliObject::persistent_id` was of size `2*MAX_DUPLI_RECUR`. These reasons are now gone, and the persistent ID always gets exactly one array element for every dupli-recursion. Differential Revision: https://developer.blender.org/D8222 Reviewed by: brecht
2020-07-06Fix T78608: Memory leak in Material properties: "Data from SCE".Bastien Montagne
Caused by recent own refactor of cache presevation handling in readfile, EEVEE's lightcache are weird birds that can also be saved in .blend files, need a special handling for those 'persistent' caches...
2020-07-06Cleanup: warning, spellingCampbell Barton
2020-07-06Fix alignment/size issue on ARM/RPi architectureSergey Sharybin
Addresses 964305 from Debian bug tracker.
2020-07-06Optimization: Don't compute the snap to face on the knife tool twiceGermano Cavalcante
Both `knife_find_closest_vert` and `knife_find_closest_edge` call `knife_find_closest_face`. Thus, running the raycast twice and setting values like `kcd->curr.bmface` and `kcd->curr.is_space` repeatedly. So: - separate `knife_find_closest_face` from `knife_find_closest_vert` and `knife_find_closest_edge`. - rename `knife_find_closest_vert` to `knife_find_closest_vert_of_face` - rename `knife_find_closest_edge `to `knife_find_closest_edge_of_face`. - do not set parameters previously set. Differential Revision: https://developer.blender.org/D8198
2020-07-06Fix faces disappearing when AutoMerge & SplitGermano Cavalcante
2020-07-06Fix UV select separate not refreshing the displayCampbell Barton
2020-07-06Cleanup: spelling, commentsCampbell Barton
2020-07-06Cleanup: rename namespace TimeIt to timeitJacques Lucke
According to our style guide, namespaces should have lower case names.
2020-07-06BLI: improve exception safety of memory utilsJacques Lucke
Even if we do not use exception in many places in Blender, our core C++ library should become exception safe. Otherwise, we don't even have the option to work with exceptions if we decide to do so.
2020-07-06BLI: refactor how buffers for small object optimization are storedJacques Lucke
Previously, there was an error when operator-> was returning an invalid type. See error C2839.
2020-07-06UV: add rip toolCampbell Barton
New rip tool matching edit-mesh rip functionality. Useful as disconnecting UV's, especially for loops is inconvenient without this. This uses 'V' to rip, changing stitch to 'Alt-V'.
2020-07-06BMesh: add BM_face_calc_uv_crossCampbell Barton
2020-07-06BMesh: add BM_loop_other_vert_loop_by_edgeCampbell Barton
2020-07-06Fix T78481: Workbench Shadow effects XRayJeroen Bakker
When in XRay some effects (shadow, cavity & depth of field) aren't supported. This patch makes sure that these effects aren't enabled.