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
2022-07-26Merge branch 'master' into geometry-nodes-iterative-cachegeometry-nodes-rigid-body-integrationLukas Tönne
2022-07-25EEVEE-Next: Display compatible properties panelsClément Foucault
Only a few are kept not available as their features are not yet supported.
2022-07-24EEVEE-Next: Add back background opacity toggleClément Foucault
2022-07-23Update RNA to User manual mappingsAaron Carlisle
2022-07-21EEVEE-Next: Add back option to disable TAA (Viewport DenoisingClément Foucault
2022-07-21Spreadsheet: Implement selection filter for curves sculpt modeHans Goudey
The spreadsheet can retrieve the float selection using the same utilities as curves sculpt brushes. Theoretically this can work in original, evaluated, and viewer node modes, at least when the sculpt selection attributes are able to be propagated. Differential Revision: https://developer.blender.org/D15393
2022-07-21Cleanup: formatCampbell Barton
2022-07-20Use appropriate context for the DopeSheet Action Custom Properties panel.Alexander Gavrilov
Refactor D14646 to use context.active_action for the Action Custom Properties panel, matching the already existing Action panel. This has the advantage that it allows access to the properties of any actions with channels visible in the Dope Sheet, e.g. Shape Keys, Materials etc; while using just the active object is limited to just the object animation. Also move both panels from Item to the Action tab. Differential Revision: https://developer.blender.org/D15288
2022-07-20I18n: fixes to add-on message extractionDamien Picard
This commit fixes several issues in add-ons UI messages extraction code: - In multi-file modules, the script would crash because it tried to write to the dir instead of a `translations.py` file; - The add-on message extraction works by enabling the add-on, getting all messages; disabling the add-on, getting all messages; then comparing the two message sets. But often a bug happens where a class gets a description from somewhere else in memory. I couldn’t debug that, so a workaround is to check that the message isn’t a corrupted one before removing it; - `printf()` doesn't exist in Python and would crash the script; - `self.src[self.settings.PARSER_PY_ID]` can be replaced by `self.py_file` in class `I18n`, since a property exists to do that; - At one point a generator was printed instead of its values, so let's unpack the generator to get the values. Maybe the print could be deleted entirely; - Use SPDX license identifier instead of GPL license block, to be more in line with other scripts from the codebase. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15474
2022-07-20Add a 'Apply and Delete All' operation to shapekeys.Bastien Montagne
Adds a new option to the 'Delete ShpaKeys' operator, which first applies the current mix to the object data, before removing all shapekeys. Request from @JulienKaspar from Blender studio. Reviewed By: JulienKaspar Differential Revision: https://developer.blender.org/D15443
2022-07-19UV: add Snap Cursor to OriginTomek Gubala
Similar to snapping to the world origin in the 3D viewport. This can be found in the Shift+S pie menu and UV > Snap menu. Differential Revision: https://developer.blender.org/D15055
2022-07-19Curves: Hide snapping menu in curves sculpt modeHans Goudey
The menu/popover doesn't affect anything in the mode, and precision operations that would use snapping are meant for edit mode anyway.
2022-07-19Fix T97559: Undoing of NLA strip duplication requires two undo stepsColin Basnett
Fix the issue where undoing a "duplicate NLA strip" operation would require two undo steps. The cause of this was that the operator was not using the operator macro system to combine both the duplication and the translate operators into one. Instead, the old code was simply manually invoking invoking the translate operator after the duplicate operator had completed. This patch requires the default keymap to be modified to include the two new macro operators, `NLA_OT_duplicate_move` and `NLA_OT_duplicate_linked_move` in favour of the old keymap that simply called `NLA_OT_duplicate` and passed along a `linked` argument. `duplicate_move` and `duplicate_move_linked` are two different enough operations to justify having their own operators from user's point-of-view, especially since we cannot yet have different tool-tips based on an operator's settings. Reviewed By: sybren, mont29 Differential Revision: https://developer.blender.org/D15086
2022-07-18Context: implement an active_action property that returns a single action.Alexander Gavrilov
Although e.g. in the dopesheet there is no specific concept of active action, displaying panels requires singling out one action reference. It is more efficient and clearer to implement this natively in the context rather than using selected_visible_actions[0]. - In the Action Editor the action is taken from the header. - In the Dope Sheet the first selected action is chosen, because there is no concept of an active channel or keyframe. - In the Graph Editor the action associated with the active curve is used, which should also be associated with the active vertex. This case may be different from selected_visible_actions[0]. Differential Revision: https://developer.blender.org/D15412
2022-07-18Context: implement indexing for list properties in path_resolve.Alexander Gavrilov
The real RNA path_resolve method supports indexing lists, but the python version on the Context object does not. This patch adds the missing feature for completeness. Differential Revision: https://developer.blender.org/D15413
2022-07-18I18n: translate add node operator tooltipsDamien Picard
The tooltips from the Add Node menu were extracted, but not translated. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15467
2022-07-18Subdiv: remove unused GPU device choice, fix crash with libepoxy on initBrecht Van Lommel
openSubdiv_init() would detect available evaluators before any OpenGL context exists, causing a crash with libepoxy. This test however is redundant as we already check the requirements on the Blender side through the GPU API. To simplify things, completely remove the device detection in the opensubdiv module and reduce the evaluators to just CPU and GPU. The plan here is to move to the GPU module abstraction over OpenGL/Metal/Vulkan and so all these different backends no longer make sense. This also removes the user preference for OpenSubdiv compute device, which was not used for the new GPU subdivision implementation. Ref D15291 Differential Revision: https://developer.blender.org/D15470
2022-07-17Sculpt: Fix scene spacing mode (phase 1)Joseph Eagar
The scene spacing code was failing to check if a raycast failed, which can happen when sculpting the edges of objects in negative mode. Note I removed what I suspect was a hack put in to fix this, spacing was clamped to 0.001 scene units. Scene spacing mode is actually quite broken, so it will be fixed in a series of phases.
2022-07-16Audaspace: minor formatting fix for last commit.Jörg Müller
2022-07-15Render: camera depth of field support for armature bone targetsDamien Picard
This is useful when using an armature as a camera rig, to avoid creating and targetting an empty object. Differential Revision: https://developer.blender.org/D7012
2022-07-15I18n: Add suport for labels from modifiers' subpanels.Bastien Montagne
Was a bit oif a struggle since those functions take a first string which is not our label, but should work fine now. Reported/detected as part of D15418.
2022-07-15blend_render_info: add check for negative BHead length (corrupt file)Campbell Barton
Without this check, corrupt files would raise a Python exception, now early exit with a useful error.
2022-07-14UI: Tweak layout of File Browser PreferencesJulian Eisel
* Don't nest "Show Recent Locations" and "Show System Locations" under a "Defaults" heading. They are not just a default setting but completely hide panels from the UI. * Use own "Show Locations" heading instead, and remove redundant words from labels. * Move the options to the top of the panel, they are more general since they can't be toggled in a File Browser session, and thus have bigger impact. We may want to remove these options in a future major release, I don't think they are useful. Agreed on with Pablo Vazquez.
2022-07-14I18n: Fix regex for messages from `BKE_modifier_set_error`.Bastien Montagne
Signature of this function changed at some point, regex to extract messages from it was no longer working. Reported/detected as part of D15418.
2022-07-14Cycles: add presets to the Performance panelBrecht Van Lommel
With choices Default, Lower Memory and Faster Render. For convenience, and to help communicate what the various settings do. Differential Revision: https://developer.blender.org/D15446
2022-07-14Improve Tool tip for Add-on searchGaia Clary
Differential Revision: https://developer.blender.org/D15411
2022-07-12Fix: wrong node name in menuJacques Lucke
2022-07-12Markers: Make delete confirmation depend on key usedRedMser
Add a 'Delete Confirmation' operator property to the 'Delete Marker' operator. This determines whether the user is asked to confirm the deletion or not. Defaults so that only {key X} ({key Backspace} for industry compatible keymap) prompts for deletion, whereas {key Del} does not show the confirmation popup. This also makes the default keymap for marker deletion consistent with the common delete operators (such as objects and keyframes). Reviewed By: sybren Differential Revision: https://developer.blender.org/D13818
2022-07-11GPU: add BUIDTIME to WITH_GPU_SHADER_BUILDERJeroen Bakker
Adds a better name that describes when it is used. The GPU_SHADER_BUILDER is a buildtime tool for developers to pre-validate GLSL (and in the overseen future pre-compile to SpirV). We don't see that this needs to become a required step in the future so WITH_GPU_BUILDTIME_SHADER_BUILDER is more descriptive name.
2022-07-11Fix/Cleanup UI messages.Bastien Montagne
2022-07-11GPencil: Dot-dash modifier rename segment bug fix.YimingWu
This patch fixes naming and renaming issue with dot-dash modifier segment list. Before: when double clicking and exiting it would append number at the end regardless of name being changed or not. Now it works like in other areas. Authored by: Aleš Jelovčan (frogstomp) Reviewed By: YimingWu (NicksBest) Differential Revision: https://developer.blender.org/D15359
2022-07-09Weight & Vertex Paint: always respect edit mode hiding on faces.Alexander Gavrilov
In some cases it is mandatory to be able to hide parts of the mesh in order to paint certain areas. The Mask modifier doesn't work in weight paint, and edit mode hiding requires using selection, which is not always convenient. This makes the weight and vertex paint modes always respect edit mode hiding like sculpt mode. The change in behavior affects drawing and building paint PBVH. Thus it affects brushes, but not menu operators like Smooth or Normalize. In addition, this makes the Alt-H shortcut available even without any selection enabled, and implements Hide for vertex selection. Differential Revision: https://developer.blender.org/D14163
2022-07-08Linux: Move Mesa software OpenGL libraries to sub-directorySergey Sharybin
Allows to put libraries which are always needed by Blender into the lib/ folder and not worry about OpenGL libraries picked up from there. Currently no functional changes as we do not yet have dynamic libraries which we load at startup. It allows to use direct linking of oneAPI Cycles device (see D15397), also it is something which would need to happen to support USD/Hydra/TBB compiler as dynamic libraries in the future. Differential Revision: https://developer.blender.org/D15403
2022-07-08Hair Curves: The new curves object is now availableDalai Felinto
This commit doesn't implement any new feature but makes the new curves object type no longer experimental. Documentation: * https://docs.blender.org/manual/en/3.3/modeling/curves/primitives.html#empty-hair * https://docs.blender.org/manual/en/3.3/sculpt_paint/curves_sculpting/introduction.html Note: This also makes the Selection Paint tool available. This tool should have been moved out of the "New Curves Tool" flag when we got the selection drawing to work. Differential Revision: https://developer.blender.org/D15402
2022-07-08Curves: support deforming curves on surfaceJacques Lucke
Curves that are attached to a surface can now follow the surface when it is modified using shape keys or modifiers (but not when the original surface is deformed in edit or sculpt mode). The surface is allowed to be changed in any way that keeps uv maps intact. So deformation is allowed, but also some topology changes like subdivision. The following features are added: * A new `Deform Curves on Surface` node, which deforms curves with attachment information based on the surface object and uv map set in the properties panel. * A new `Add Rest Position` checkbox in the shape keys panel. When checked, a new `rest_position` vector attribute is added to the mesh before shape keys and modifiers are applied. This is necessary to support proper deformation of the curves, but can also be used for other purposes. * The `Add > Curve > Empty Hair` operator now sets up a simple geometry nodes setup that deforms the hair. It also makes sure that the rest position attribute is added to the surface. * A new `Object (Attach Curves to Surface)` operator in the `Set Parent To` (ctrl+P) menu, which attaches existing curves to the surface and sets the surface object as parent. Limitations: * Sculpting the procedurally deformed curves will be implemented separately. * The `Deform Curves on Surface` node is not generic and can only be used for one specific purpose currently. We plan to generalize this more in the future by adding support by exposing more inputs and/or by turning it into a node group. Differential Revision: https://developer.blender.org/D14864
2022-07-08Add a few missing UI strings to translation.Damien Picard
Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15392
2022-07-08Cleanup: formatCampbell Barton
2022-07-07LibOverride: Make fully editable when creating an experimental user setting.Bastien Montagne
This is temporary to investigate which behavior should be kept when creating an override hierarchy if there are no cherry-picked data defined: make all overrides user-editable, or not. This removes the 'make override - fully editable' menu entries.
2022-07-07Workspaces: Option to pin scene to a workspaceJulian Eisel
Adds a "Pin Scene" option to the workspace. When activated, the workspace will remember the scene that was last activated in it, so that when switching back to this workspace, the same scene will be reactivated. This is important for a VSE workflow, so that users can switch between different workspaces displaying a scene and thus a timeline for a specific task. The option can be found in the Properties, Workspace tab. D11890 additionally adds an icon for this to the scene switcher in the topbar. The workspace data contains a pointer to the scene which is a UI to scene data relation. When appending a workspace, the pointer is cleared. Differential Revision: https://developer.blender.org/D9140 Reviewed by: Brecht Van Lommel, Bastien Montagne (no final accept, but was fine with the general design earlier)
2022-07-07Curves: Add sculpt selection overlayHans Goudey
This commit adds visualization to the selection in curves sculpt mode. Previously it was only possible to see the selection when it was connected to a material. In order to obstruct the users vision as little as possible, the selected areas of the curve are left as is, but a dark overlay is drawn over unselected areas. To make it work, the overlay requests the selection attribute and then ensures that the evaluation is complete for curves. Then it retrieves the evaluated selection GPU texture and passes that to the shader. This reuses the existing generic attribute extraction system because there currently wouldn't be any benefits to dealing with selection separately, and because it avoids duplication of the logic that extracts attributes from curves and evaluates them if necessary. Differential Revision: https://developer.blender.org/D15219
2022-07-07ID Management: Purge: Make outliner button use recursive purge.Bastien Montagne
This change the 'Purge' button of the Outliner 'Orphaned' view to use recursive purge, i.e. it wil not only delete immediately unused IDs (as listed in the view) anymore, but also all their unused dependencies.
2022-07-06Icons: Add each icon to a named groupFrancesco Siddi
The objects making up each icon are placed in a group named after the icon coordinates in the grid. This change has no impact on the current pipeline used to include icons in a Blender build, but lays the foundation to explore other workflows to do that, and tidies up the file. Differential Revision: https://developer.blender.org/D15251
2022-07-05UI: Curves Sculpting - Remove duplicated entry for Curve LengthDalai Felinto
2022-07-05Geometry Nodes: Use alphabetical order for UV nodes in add menuHans Goudey
2022-07-04OBJ: remove "experimental" from C++ based importer/exporter, mark Python legacyAras Pranckevicius
By now I'm not aware of any serious regressions or missing functionality in the C++ based OBJ importer/exporter. They have more features (vertex colors support), and are way faster than the Python based importer/exporter. Reviewed By: Thomas Dinges, Howard Trickey Differential Revision: https://developer.blender.org/D15360
2022-07-02Revert "Start of Bevel V2, as being worked on with task T98674."Howard Trickey
This reverts commit 9bb2afb55e50f9353cfc76cf2d8df7521b0b5feb. Oops, did not intend to commit this to master.
2022-07-02Start of Bevel V2, as being worked on with task T98674.Howard Trickey
This is the start of a geometry node to do edge, vertex, and face bevels. It doesn't yet do anything but analyze the "Vertex cap" around selected vertices for vertex bevel.
2022-07-01Sculpt Curves: UI tweaks and shortcutDalai Felinto
* Minimum Distance -> Distance Mix * Max Count -> Count Max * Shift + A for selection grow This follows better the names we have in geometry nodes in the Distribute Points node when using the Poisson Disk method (Distance Min, Distance Max). The shortcut for the selection grow is the same we use in mesh sculpt for the Expand Mask operator (which behaves a bit similar).
2022-07-01Tracking: Image from Plane Marker operatorsSergey Sharybin
There are two operators added, which are available via a special content menu next to the plane track image selector: - New Image from Plane Marker - Update Image from Plane Marker The former one creates an image from pixels which the active plane track marker "sees" at the current frame and sets it as the plane track's image. The latter one instead of creating the new image data-block updates the image in-place. This allows to create unwarped texture from a billboard from footage. The intent is to allow this image to be touched up and re-projected back to the footage with an updated content. Available from a plane track image context menu, as well as from the Track menu. {F13243219} The demo of the feature from Sebastian Koenig: https://www.youtube.com/watch?v=PDphO-w2SsA Differential Revision: https://developer.blender.org/D15312
2022-06-30EEVEE-Next: Add Film and RenderBuffers moduleClément Foucault
This modules handles renderpasses allocation and filling. Also handles blitting to viewport framebuffer and render result reading. Changes against the old implementation: - the filling of the renderpasses happens all at once requiring only 1 geometry pass. - The filtering is optimized with weights precomputed on CPU and reuse of neighboor pixels. - Only one accumulation buffer for renderpasses (no ping-pong). - Accumulation happens in one pass for every passes using a single dispatch or fullscreen triangle pass. TAA and history reprojection is not yet implemented. AOVs support is present but with a 16 AOV limit for now. Cryptomatte is not yet implemented.