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-07-01Merge branch 'asset-uuid--archived' into asset-engine--archivedasset-engine--archivedJulian Eisel
2020-07-01Merge branch 'master' into asset-uuid--archivedasset-uuid--archivedJulian Eisel
2020-07-01Fix missing GPU image free in background modeBrecht Van Lommel
This is legacy code from before Eevee and Workbench rendering in background mode was supported. Avoid memory leak by only queueing GPU textures to be freed when we know they have been allocated. Differential Revision: https://developer.blender.org/D8172
2020-07-01Fix ID reference counting asserts when freeing COW pose channels.Alexander Gavrilov
Take the do_id_user flag into account when freeing custom properties attached to pose channels, so that pointer properties don't cause assertion failures when DEG frees its COW instances.
2020-07-01Cleanup: spellingCampbell Barton
2020-06-30Sculpt: Refactor persistent base to make it usable from other toolsPablo Dobarro
This renames the layer persistent base and adds new API functions to get the mesh state from the base, so it can be used from other tools and replaced in the future with a better system. Reviewed By: sergey Maniphest Tasks: T77738 Differential Revision: https://developer.blender.org/D8003
2020-06-30Pointcache: store owner_id instead of object in PTCacheIDJacques Lucke
The new simulation type can also reference a point cache, but it is not an object. Reviewers: brecht Differential Revision: https://developer.blender.org/D8097
2020-06-30Sculpt: Pose Brush option to affect loose partsPablo Dobarro
This option allows posing meshes with different disconnected elements using the Pose Brush. This is achieved by doing the following: - Creating an ID per vertex that stores the connected component of that vertex. - By using those IDs, one fake topology connection is created per vertex to the nearest vertex in a different ID. The maximum distance to create that connection is determined by the "Max Element Distance" property. These fake connectivity neighbors are used in the Sculpt API functions iterators, so all the algorithms of the Pose Brush can run without modifications as if everything was part of the same mesh. In order to make this work, the "Connected only" property of the Pose Brush needs to be disabled. This will add an extra performance cost to the Pose Brush and its preview. To achieve optimal results, max element distance should be as low as possible. Reviewed By: sergey, campbellbarton Differential Revision: https://developer.blender.org/D7282
2020-06-30Nodes: store nodes by bNodeType instead of idnameJacques Lucke
This is more efficient in most cases.
2020-06-30LibOverride: Add proper handling of shapekeys to core override code itself.Bastien Montagne
2020-06-30LibOverride: Add concept of 'embedded'/'virtual' override.Bastien Montagne
IDs like embedded ones (master collections, root node trees) cannot be linked, and thus cannot be real override themselves. Since they are managed by their owner ID, that one will also have the overrides for their locally edited properties. We still need a way to mark them as overridden though, for various UI and override-internal purposes, this is done using a new ID flag. Note that since Shae Keys are not linkable, and their pointers are not editable in RNA, they are also considered as embedded from override point of view.
2020-06-30Cleanup: LibOverride: Naming.Bastien Montagne
2020-06-30LibOverride: Fix improper update of depsgraph relations.Bastien Montagne
2020-06-30Cleanup: LibOverride: Replace raw pointers checks by proper macros.Bastien Montagne
This is cleaner, but also crucial to avoid weird issues when behaviors of those checks are modified...
2020-06-30Cleanup (from clang format)...Bastien Montagne
2020-06-30Fix T78367: triangulate modifier does not preserve sculpt vertex colorsBrecht Van Lommel
2020-06-29UI: Add shortcuts for modifier panelsHans Goudey
The shortcuts act on the modifier with its panel under the mouse. The following shortcuts are enabled by default: - Remove modifier: X, Delete - Apply modifier: Ctrl A - Duplicate modifier: Shift D More shortcuts can be added in the keymap. Each panel can now store a custom data RNA pointer, and a new function is added to get the custom data for the panel under the cursor. This custom data could be used to refactor the "List Panel System" to generalize it and integrate it further with RNA. The same functionality will be added in further commits where it applies to constraints, grease pencil modifiers, and effects. Differential Revision: https://developer.blender.org/D8031
2020-06-29UI: Show library status icons in search menus, rather than letter prefixJulian Eisel
Rather than a `L` (linked), `O` (overridden) or `M` (missing) prefix for the name, show the existing library status icons. See D7999 for screenshots. Note that when using preview icons, or if the search menu contains items with own icons (e.g. brush icons), we still fallback to the prefix solution. Zero or fake user is still indicated with a prefix. Differential Revision: https://developer.blender.org/D7999 Reviewed by: Bastien Montagne, William Reynish
2020-06-29Fix ShapeKeys not being deleted together with their owner ID.Bastien Montagne
Consistency with e.g. copying (copying a mesh also duplicates its shapekey typically). Baby step towards getting rid of this horrible ID, some day... Note that for now we only do that when taking BMain into account, fancy code dealing with non-main IDs and such has to deal with those itself.
2020-06-29Fix ID_swap not keeping original recalc flags.Bastien Montagne
Note that we might be missing more things there still, maybe some tags e.g. should also be swapped?
2020-06-29Add utils to remove an ID from the relations runtime data in Main.Bastien Montagne
2020-06-29Fix T78323: Enable Unified and Secondary colors for Scultp Vertex ColorsPablo Dobarro
The report does not include any file, but probably that file is using the settings for unified colors, which are currently not available in the UI, so it always paints black. This enables unified colors and secondary colors for sculpt vertex colors, so it should solve that issue. Unified color does not make much sense now as the Paint tool is the only one that has paint capabilities, but it will do in the future when sculpt and paint at the same time is enabled and the paint capability is added to more tools. Reviewed By: sergey Maniphest Tasks: T78323 Differential Revision: https://developer.blender.org/D8136
2020-06-29Fix Smear Tool too weak on high poly meshesPablo Dobarro
The defaults for the Smear tool were making it too weak in high poly meshes, specially the alpha/pressure option enabled by default. Now this option is disabled, it has a linear pressure curve and less spacing. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8134
2020-06-29Cleanup: use blender::bke namespace in simulation.ccJacques Lucke
2020-06-29VSE: Fix type mismatch introduced in rB8bcfa0d1fb9fRichard Antalik
Pass `IMB_Proxy_Size` to `seq_can_use_proxy` and remove duplicate check.
2020-06-29Fix T78401: Convert Mesh to Grease Pencil with empty material slot crashesPhilipp Oeser
Also create the 'simple fill' in case there are only empty material slots. Maniphest Tasks: T78401 Differential Revision: https://developer.blender.org/D8151
2020-06-29Cleanup: use std::make_unique instead of blender::make_uniqueJacques Lucke
This is possible, because we use C++17 now.
2020-06-29Cleanup: rename namespace DotExport to dotJacques Lucke
2020-06-29Cleanup: Use blender namespace in blenkernelJacques Lucke
2020-06-28GPencil: Cleanup - replace loop with LISTBASE_FOREACHAntonio Vazquez
2020-06-28Use const in nodeFindSocketAnkit
Since the function only iterates over the input members, and matches their identifiers, `bNode *`can be `const`. All other usages of the `nodeFindSocket` use it with other functions that modify the node. (e.g.: ``nodeAddLink` ) But an exporter needs the node to be a `const`, so this creates unnecessary and slightly unsafe design changes. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D8142
2020-06-27Docs: correct invalid doxygen params & referencesCampbell Barton
2020-06-26Fix detecting proxy images.Richard Antalik
Pass is_proxy_image to functions where images are loaded instead of comparing image size to render size. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8128
2020-06-26Silence warning introduced in f7f3b2d31823Richard Antalik
Call function `BKE_scene_multiview_view_prefix_get` to ensure ext is not NULL. This already should happen in `seq_image_strip_is_multiview_render` though. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8081
2020-06-25GPencil: Ensure previous brush is set when change modeAntonio Vazquez
In some situations, the previous brush is not set. This usually happens with previous version files. Related to T78155.
2020-06-25Cleanup: spellingCampbell Barton
2020-06-25Python API: add methods to allow copying of constraints.Alexander Gavrilov
Blender has an operator to do Copy & Paste of constraints between objects and bones, but no simple method to do that directly via the Python API is provided. This adds a copy() method to object and pose bone constraint collections. Differential Revision: https://developer.blender.org/D8112
2020-06-24Fluid: Use OpenVDB as the default cache format for liquids tooSebastián Barschkis
With the updated OpenVDB setup, it is now perfectly fine to use OpenVDB for liquid domains.
2020-06-24UI: Add Free Handle Types to CurveProfile WidgetHans Goudey
Under the hood the CurveProfile widget (used for bevel custom profiles) uses a bezier curve, but right now though it only supports two of the bezier curve handle types, vector and auto. This patch adds support for free handles and adds all of the logic for editing them. This is the first step to the ability to import and export curve objects in the widget. There's some code cleanup in curveprofile.c. Movement for handles and control points is abstracted to functions there rather than happening in interface_handlers.c. An "Apply Preset" button is also added, which solves a confusing issue where you apply a preset, then change the number of samples and the preset doesn't change. The button makes it clear that the preset needs to be reapplied. Reviewed By: Severin Differential Revision: https://developer.blender.org/D6470
2020-06-24Fluid: Improved OpenVDB support for fluid cachesSebastián Barschkis
This commit makes uses of the new OpenVDB IO in Mantaflow (introduced in 781f783a66ac). From now on, fluid cache files in OpenVDB format will contain a list of grids per frame (before: one .vdb file per grid per frame). Besides regular grids, particle systems are also stored using OpenVDBs PointGrid data structures. All older cache formats will remain fully functional: - Uni caches (.uni) files are still available from the UI and can be used as before - Raw caches (.raw) are no longer available from the UI, but loading them is still possible - Old OpenVDB caches (one .vdb per grid) can no longer be baked either, but loading them is still possible. It is also no longer possible to choose file formats for 'Noise' and 'Particles'. Instead there are now options to set the file format for 'Volumetric' and for 'Mesh' data. Known issues (planned to be resolved soon): - OpenVDB files are currently not taking into consideration the clipping value (FluidDomainSettings). Empty cells are therefore being written too. Depending on the scene, this can make file sizes unnecessarily large. - Domains are not being exported at their world position. Instead they are always clipped to the origin.
2020-06-24Sculpt: rename default vertex color layer name from Col to ColorBrecht Van Lommel
No need for abbreviation here, and helps avoid conflicts with old vertex color layers. Ref T76659
2020-06-24Fix memory leak calculating deform modifiers in edit-modeCampbell Barton
This bug goes back to 2.80 but doesn't seem to have been reported.
2020-06-24Cleanup: redundant self assignmentCampbell Barton
2020-06-24Cleanup: clang-formatCampbell Barton
2020-06-23Refactor: move blenloader code of curve profile to blenkernelJacques Lucke
2020-06-23Sculpt Vertex Colors: Initial implementationPablo Dobarro
Sculpt Vertex Colors is a painting system that runs inside sculpt mode, reusing all its tools and optimizations. This provides much better performance, easier to maintain code and more advanced features (new brush engine, filters, symmetry options, masks and face sets compatibility...). This is also the initial step for future features like vertex painting in Multires and brushes that can sculpt and paint at the same time. This commit includes: - SCULPT_UNDO_COLOR for undo support in sculpt mode - SCULPT_UPDATE_COLOR and PBVH flags and rendering - Sculpt Color API functions - Sculpt capability for sculpt tools (only enabled in the Paint Brush for now) - Rendering support in workbench (default to Sculpt Vertex Colors except in Vertex Paint) - Conversion operator between MPropCol (Sculpt Vertex Colors) and MLoopCol (Vertex Paint) - Remesher reprojection in the Voxel Remehser - Paint Brush and Smear Brush with color smoothing in alt-smooth mode - Parameters for the new brush engine (density, opacity, flow, wet paint mixing, tip scale) implemented in Sculpt Vertex Colors - Color Filter - Color picker (uses S shortcut, replaces smooth) - Color selector in the top bar Reviewed By: brecht Maniphest Tasks: T72866 Differential Revision: https://developer.blender.org/D5975
2020-06-23Cleanup: move text.c comments to the struct/flag declarationsCampbell Barton
Also update/correct some of the comments.
2020-06-23Cleanup: remove Text.nlinesCampbell Barton
This isn't needed and wasn't properly updated when new-lines were added.
2020-06-23Cleanup: rename 'name' to 'filepath' for DNA typesCampbell Barton
Using 'name' for the full path of a file reads badly, especially when id.name is used in related code.
2020-06-23Cleanup: rename Library.filepath to filepath_absCampbell Barton
Make it clear that this is the absolute path, allow the 'name' to be renamed to 'filepath'. Rename is safe since this is only for run-time.