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
2021-03-16Outliner: Refactor: Move overrides tree items to new CPP code.Bastien Montagne
Fairly straight forwards. Also fixes the bug from recent refactor that would not show overrides as a tree, but as a flat list directly under IDs.
2021-03-16LibOverride: tweak log messages, fix crash in log code.Bastien Montagne
One of the log call could use freed memory.
2021-03-16Fix T86168: Add primitive Grid. Wrong number of subdivisionsPratik Borhade
Changes to increase subdivision by one along both axis (X and Y) For example with x_segment = 3 and y_segment = 3. There should be 16 vertices ((3 + 1) * (3 + 1)) for correct number of subdivisions. Currently they are 3 * 3 = 9 vertices. Ref D10699
2021-03-16Fix T86561: Edit-mode crash with multiple objects sharing a meshCampbell Barton
Use a for loop that always begins with the active object, instead of moving the active object in the array, which failed when it's data already being handled. While the existing logic could have been fixed, it's simpler to change the loop order.
2021-03-16Compositor: Redesign Cryptomatte node for better usabilityJeroen Bakker
In the current implementation, cryptomatte passes are connected to the node and elements are picked by using the eyedropper tool on a special pick channel. This design has two disadvantages - both connecting all passes individually and always having to switch to the picker channel are tedious. With the new design, the user selects the RenderLayer or Image from which the Cryptomatte layers are directly loaded (the type of pass is determined by an enum). This allows the node to automatically detect all relevant passes. Then, when using the eyedropper tool, the operator looks up the selected coordinates from the picked Image, Node backdrop or Clip and reads the picked object directly from the Renderlayer/Image, therefore allowing to pick in any context (e.g. by clicking on the Combined pass in the Image Viewer). The sampled color is looked up in the metadata and the actual name is stored in the cryptomatte node. This also allows to remove a hash by just removing the name from the matte id. Technically there is some loss of flexibility because the Cryptomatte pass inputs can no longer be connected to other nodes, but since any compositing done on them is likely to break the Cryptomatte system anyways, this isn't really a concern in practise. In the future, this would also allow to automatically translate values to names by looking up the value in the associated metadata of the input, or to get a better visualization of overlapping areas in the Pick output since we could blend colors now that the output doesn't have to contain the exact value. Idea + Original patch: Lucas Stockner Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D3959
2021-03-15Geometry Nodes: Support drag & drop object to create Object Info, Collection ↵Charlie Jolly
Info and Sample Texture nodes See: {T86296} Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10648
2021-03-15Spreadsheet: show number of filtered rows only when necessaryJacques Lucke
2021-03-15Nodes: fix crash after undo after recent multi-input-socket changesJacques Lucke
The issue is that the `last_node_hovered_while_dragging_a_link` pointer is invalidated on undo. The pointer does not have to be on the space runtime data, because it only needs to exist as long as the operator is running. Differential Revision: https://developer.blender.org/D10726
2021-03-15Comments: notes on sculpt/image undo looping logicCampbell Barton
2021-03-15Fix macos compile errorJacques Lucke
`std::get` does not seem to be available. Using `std::get_if` might work instead. (Found the error on the buildbot.)
2021-03-15Spreadsheet: improve separation of drawing and data generationJacques Lucke
This is a refactor and no functional changes are expected. The goal is to make it simpler to add other data sources without having to repeat the drawing code everywhere. Also, having the `CellValue` class allows us to implement filtering and sorting in a more generic way.
2021-03-15Spreadsheet: support showing data from original/unevaluated objectJacques Lucke
There are two caveats of the current implementation which still need to be resolved in a separate step: * In theory the data on the original object can be editable in the spreadsheet. * If a complex object is in edit mode, and its original data is displayed, the drawing code can be slow, because the bmesh is converted to a mesh every time. The proper solution is to draw the data from the bmesh directly. This should become easier after an upcoming refactor. Ref T86141. Differential Revision: https://developer.blender.org/D10701
2021-03-15Spreadsheet: add status barJacques Lucke
This implements the status bar as footer region in the spreadsheet editor. It shows the total number of rows and columns as well as how many rows are actually visible (based on the filter). The implementation stores the stats in a runtime struct during drawing and the status bar reads from that struct. Ref T86142. Differential Revision: https://developer.blender.org/D10693
2021-03-14Cleanup: remove unused "Gizmo" & "Header" keymapsCampbell Barton
2021-03-13Cleanup: add BKE_pbvh_vertex_iter_begin to clang-formatPablo Dobarro
Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10707
2021-03-12Sculpt: Mask Init operatorPablo Dobarro
This operator initializes mask values for the entire mesh. It supports different modes for initializing those values, and more will be added in the future. The initial version supports generating a random mask per vertex, Face Sets or loose parts. These masks are useful for introducing variations in the model using the filters (both shapes and colors). Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10679
2021-03-12GPencil: Interpolate can use all keyframe types except breakdownAntonio Vazquez
Before only it was only possible interpolate frames of `Keyframe` type. Now all types except `Breakdown` can be used. `Breakdown` cannot be used because it would be impossible interpolate two times because the extremes of the interpolation would change and the clean operator would not work.
2021-03-12Docs: add doc-string for TransDataContainerCampbell Barton
2021-03-12Fix T82532: Sculpt fails to redo the first sculpt session strokeCampbell Barton
Sculpt undo relied on having a mode-changing undo step to properly apply changes. However this isn't the case with startup files or when mixing global undo steps with sculpt (see T82851, also fixed). Undo stepping logic follows image_undosys_step_decode_undo.
2021-03-12LibOverride: Add a new operation to Outliner to enforce resync of hierarchies.Bastien Montagne
This is basically done by ignoring override operations from old override affecting ID pointer properties, when the new (destination) one is not NULL. Fix T86501: New object added to overridden collection doesn't show up in linking file on Resync. This is more of a work-around actually, since there is no real way to fix the issue in a fully automated and consistent way, it is caused by older blender files being saved with 'broken' overrides. WARNING: This cannot ensure that some purposedly edited/overridden ID pointer properties won't be lost in the process.
2021-03-12Fix T86455: vertex color baking issue with sculpt vertex colorsPhilipp Oeser
Baking to Vertex Colors would always bake to sculpt vertex colors (if such a layer is present) even if those are not enabled in the experimental preferences. This would bake without an error but leave the user without a result to look in the viewport. Now check if sculpt vertex colors are enabled and only bake to them in that case. Maniphest Tasks: T86455 Differential Revision: https://developer.blender.org/D10692
2021-03-12Cleanup: incorrect doxy section titleCampbell Barton
Also correct typo.
2021-03-12Cleanup: redundant flag checkCampbell Barton
2021-03-12Cleanup: redundant outliner includesCampbell Barton
2021-03-11Nodes: Fix drag link from output to already linked Multi-Input SocketFabian Schempp
This patch fixes a visual bug related to connecting an output socket to a Multi-Input Socket, that already has a link to that same output. In this case, the drag link got a new index and snapped to a new position. This path makes the drag link snap to the same position as the first link between the two sockets. Differential Revision: https://developer.blender.org/D10689
2021-03-11Fix warning from own previous commitJulian Eisel
2021-03-11UI: Avoid unnecessary redraws of unrelated editors on space changesJulian Eisel
When adding a notifier, `reference` data can be passed. The notifier system uses this to filter out listeners, for example if data of a scene changes, windows showing a different scene won't get the notifiers sent to their listeners. For the `NC_SPACE` notifiers, a number of places also passed the space as `reference`, but that wasn't used at all. The notifier would still be sent to all listeners in all windows (and the listeners didn't use it either). Causing some unnecessary updates (e.g. see ed2c4825d3e2344). With this commit, passing a space will make sure the notifier is only sent to that exact space. Some code seems to already have expected that to be the case. However there were some cases that passed the space as `reference` without reason, which would break with this commit (meaning they wouldn't redraw or update correctly). Corrected these so they don't pass the space anymore.
2021-03-11Fix Asset Browser showing oudated list for changes done while browser is hiddenJulian Eisel
Steps to reproduce were: * Open an Asset Browser * "Mark Asset" on some data-block * Change the Asset Browser into a different editor (not File Browser!) * "Clear Asset" on the data-block again, or mark another asset * Change back to the Asset Browser, it will show an outdated list Now the file-browser reloads local file data after spaces were changed. Note that the current notifier code doesn't limit the space-change notifiers to the affected spaces, so changing any visible space will trigger this. That's an issue to be fixed separately.
2021-03-11GPencil: Fix unreported Fill fails if the stroke was taggedAntonio Vazquez
In some situations the strokes could be tagged before filling, so it's necessary to reset before.
2021-03-11Cleanup: spellingCampbell Barton
2021-03-11Cleanup: Add comment explaining plan for new Outliner tree-element code designJulian Eisel
Explains how we can get rid of implicit assumptions and `void *` arguments/storage in the future.
2021-03-11Cleanup: Pass anim-data directly to Outliner anim-data tree element constructorJulian Eisel
Rather than letting the `TreeElementAnimData` constructor take an ID from which we get the animation-data based on an assumption on how it's stored, let the constructor take the animation-data directly. That way we further centralize the assumptions on the data passed to the element creation to `tree_element_create()`. The following commit will add a comment explaining the plan to entirely get rid of those assumptions in the future.
2021-03-11Outliner: Add assert to make assumption for new code design explicitJulian Eisel
There was an implicit assumption that tree element types using the new code design set their name on creation. Use an assert to make this explicit. See f59ff9e03a633, which was an error because of this broken assumption.
2021-03-11Fix crash when showing NLA actions in the OutlinerJulian Eisel
Caused by 2e221de4ceee in combination with 4292bb060d59. In the former I forgot to set the name for NLA actions in the new code design, in the latter I made it an assumtion that tree element types using the new design set the name. The following commit will make this assumption explicit with an assert.
2021-03-11Fix failing assert when loading file with untraceable custom asset libraryJulian Eisel
When loading a file with an asset browser open, and it showed a custom asset library that can't be found currently (e.g. because the file is from somebody else), the `BLI_assert(0)` in `rna_FileAssetSelectParams_asset_library_get()` would fail. There was code to handle this case already, but unlike I thought it didn't run right after file read. Now it does.
2021-03-11Spreadsheet: expore more domains and point cloud dataJacques Lucke
Ref T86135. Differential Revision: https://developer.blender.org/D10681
2021-03-11UI: Add Copy Full Data Path to RMB menuAaron Carlisle
This commit adds an operator to the RMB-menu "Copy Full Data Path“, to copy the full RNA path to the clipboard. It aims to complement "Copy Data Path“, which only copies the part of the path that is needed for drivers, but for writing addons, etc. it is useful to have an option that gives the full data path. Similar patch have been submitted before, see D763 and D2746 This time I did not split the operator (as D2746) and does not contain the UI reorganization (as D763) Note, the fixes from D2746 were committed in rB09eac0159db8 so that patch can be closed. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10539
2021-03-10Fix T86416: geometry nodes crash choosing a group node link menuPhilipp Oeser
Since rBb279fef85d1a, the nodes properties for geometry nodes using a texture are displayed in the Properties Editor. It was possible to create recursive nodetrees when choosing the 'root' nodegroup in the node link menu though leading to a crash. Now poll if a group node of a particular node could actually be added to the current tree. Also check if the tree types actually match. Maniphest Tasks: T86416 Differential Revision: https://developer.blender.org/D10671
2021-03-10Nodes: Sortable Multi Input SocketsFabian Schempp
This Patch removes the auto sorting from Multi-Input Sockets and allows the links to be sorted by drag and drop instead. As a minor related change, it fixes the drawing of the mute line to connect to the first input instead of the socket's center.
2021-03-10Fix T67190: Edge Loop Select doesn't support non-manifold edgesPratik Borhade
- New Walker added `bmw_NonManifoldedgeWalker_type`. - This walks over edges connected with 3 or more faces connected. Ref D10497 with edits.
2021-03-10Geometry Nodes: move geometry component type enum to CJacques Lucke
This allows us to use it in rna for the spreadsheet editor.
2021-03-10Spreadsheet: new spreadsheet editorJacques Lucke
This implements the MVP for the new spreadsheet editor (T85879). The functionality is still very limited, but it proved to be useful already. A more complete picture of where we want to go with the new editor can be found in T86279. Supported features: * Show point attributes of evaluated meshes (no original data, no other domains, no other geometry types, yet). Since only meshes are supported right now, the output of the Point Distribute is not shown, because it is a point cloud. * Only show data for selected vertices when the mesh is in edit mode. Different parts of Blender keep track of selection state and original-indices with varying degrees of success. Therefore, when the selected-only filter is used, the result might be a bit confusing when using some modifiers or nodes. This will be improved in the future. * All data is readonly. Since only evaluated data is displayed currently, it has to be readonly. However, this is not an inherent limitation of the spreadsheet editor. In the future editable data will be displayed as well. Some boilerplate code for the new editor has been committed before in rB9cb5f0a2282a7a84f7f8636b43a32bdc04b51cd5. It would be good to let the spreadsheet editor mature for a couple of weeks as part of the geometry nodes project. Then other modules are invited to show their own data in the new editor! Differential Revision: https://developer.blender.org/D10566
2021-03-10Cleanup: spellingCampbell Barton
2021-03-10Fix (unreported) geometry node attribute search not working in thePhilipp Oeser
Properties Editor Since rBb279fef85d1a, the nodes properties for geometry nodes using a texture are displayed in the Properties Editor. rB85421c4fab02 added an attribute search button, but this was missing still (gave just the regular text button) if this was displayed in the Properties Editor. ref b279fef85d1a / T86416 / D10671 / D10673 Maniphest Tasks: T86416 Differential Revision: https://developer.blender.org/D10674
2021-03-09Graph Editor: FCurve Show Extrapolation ToggleWayde Moss
Adds toggle to graph editor (View->Show Extrapolation). When disabled, then fcurves only draw over the keyframe range. For baked fcurves and ghost fcurves, the range is all sampled points. It is intended for frequent use so anybody could assign hotkey or add to quick favorites that's why GE-View is the best place for it. Show Extrapolation is the default. Reviewed By: sybren, Stan1, looch Differential Revision: http://developer.blender.org/D10442
2021-03-09Cleanup: Do not pass stack allocated string to MEM_callocNHans Goudey
2021-03-09Fix crash in boundary brush after refactorPablo Dobarro
A missing continue in this loop. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10610
2021-03-09Sculpt: Init Face Sets by Face Sets boundariesPablo Dobarro
This adds an extra option to the Face Sets Init operator to initialize individual Face Sets based on the current Face Sets boundaries. In particular, this is useful for splitting the patterns created by Expand into individual Face Sets for further editing. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10608
2021-03-09Cleanup: use nullptr in cpp.Jeroen Bakker
2021-03-09Fix T86417: Crash deleting Shader AOV from an empty listPhilipp Oeser
Missing NULL check in {rB2bae11d5c08a}. Candidate for corrective release I guess. Maniphest Tasks: T86417 Differential Revision: https://developer.blender.org/D10666