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-02Sculpt: Expand OperatorPablo Dobarro
Expand is a new operator for Sculpt Mode which is intended to be the main tool for masking, Face Set editing, interacting with the filters and pattern creation. The fundamentals of the tool are similar to the previous sculpt.mask_expand operator. It shares the same default shortcuts and functionality, making the previous operator obsolete. The shortcuts to execute the operator are: - Shift + A: Expand mask - Shift + Alt + A: Expand mask by normals - Shift + W: Expand Face Set - Shift + Alt + W: Resize current Face Set The main changes compared to the previous sculpt.mask_expand operator are: - Modal keymap, all operator options can be changed in real time while the operator is running. - Supports creating Mask, Face Sets and Sculpt Vertex Colors. - Much better code, new features can be easily integrated. Limitations: - All Mask operations are supported for Sculpt Vertex colors, but not exposed by default as their support is still experimental. - Dyntopo does not support any Face Set or Sculpt Vertex Colors. functionality (they are not implemented in general for Dyntopo). - Multires does not support any feature related to geodesic distances. - Multires does not support vertex colors. - Multires does not support recursions. - In Multires, Face Sets snaping does not initialize all current enabled Face Sets when toggling snapping. - In Multires, Face Sets are created at base mesh level (works by this by design, like any other tool). - Unlike the previous mask_expand operator, this one does not blur the mask by default after finishing Expand as that does not fit the new design. The mask can still be blurred by using the mask filter manually. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10455
2021-03-02Cleanup: remove Python 2.x support from complete_calltipCampbell Barton
2021-03-01Build-system: Use C-linkage for internal interface headerJulian Eisel
That way the header can be included in C++ files.
2021-02-25Icons: Add icon for the upcoming spreadsheet editorJulian Eisel
The editor is being worked on by the geometry nodes team. Icon created by Andrzej Ambroz (jendrzych). Addresses https://developer.blender.org/T85925.
2021-02-25Icons: Update blender_icons.svg to have a document backgroundJulian Eisel
When opening the SVG you wouldn't even see the icons, since they are all white now. You'd always have to set up a document background color and make sure to undo that again before saving the file, so it's not written into it. Just make everyone's life easier by saving the file with a proper background (gray with checkerboard).
2021-02-25Icons: Resaved blender_icons.svg in new Inkscape versionJulian Eisel
Inkscape often does a number of unrelated changes when saving an SVG, not sure if these are just formatting changes in the source SVG text or if there's more to it. Either way this makes adding new icons hard since you want to avoid these unrelated changes. Saving the file in a new Inkscape version every once in a while should mitigate the problem a bit. Regenerating the icons (e.g. through `make icons`) shows no difference in the output. Note that I also ran "Clean Up Document" in Inkscape, but that doesn't seem to have changed anything/much.
2021-02-25Improve Purge operator.Bastien Montagne
The Purge operator to remove unused IDs can now also remove 'indirectly unused' data-blocks (those only used by unused ones, recursively). It can also now only operate on linked, or on local data. All those options are exposed in the `File -> Cleanup` main menu. The behavior of the `Purge` button in the Outliner remains unchanged, needs some UI/UX design task for that.
2021-02-25Merge remote-tracking branch 'origin/blender-v2.92-release'Dalai Felinto
2021-02-24UI: Clean up use of the term "Metaballs"Yevgeny Makarov
Clear the weird term "Metaelement". These are the metaballs (elements) inside one metaball objects. - "Meta Ball" to "Metaball" - "Metaelement", "Meta element" to "Metaball element" Differential Revision: https://developer.blender.org/D9910
2021-02-24UI: Cleanup and fix labels and descriptions in various placesYevgeny Makarov
Changes include using proper and consistent grammar, simplifying phrasing, using correct terminology, and not including python API identifiers in tooltips. Differential Revision: https://developer.blender.org/D9924
2021-02-24UI: Remove colons from some labelsYevgeny Makarov
The colons are not necessary in these situations because it's clear that the label applies to the next group of buttons anyway, and they add unecessary visual complexity. Committing as part of D9924.
2021-02-24GPencil: Fix missing change material menu using U keyAntonio Vazquez
The menu was not activated when vertex mode was enabled.
2021-02-24Fix T84796: Particle tool properties displayed for select toolKdaf
When using particle mode, the particle tool settings were always displayed, even if select/cursor is the active tool. This patch hides the properties of the particle tools for non-brush tools, using the same check as in other modes. Differential Revision: https://developer.blender.org/D10266
2021-02-24Docs: 2.92 release description for Linux appdataDalai Felinto
2021-02-24Fix T85915: Cannot save new theme presetCampbell Barton
Since making bpy.types a real module `dir(bpy.types)` now includes __dir__ and __getattr__ methods which need to be ignored.
2021-02-24Docs: 2.91 release description for Linux appdataDalai Felinto
2021-02-24Fix incorrect icon .dat files after recent commitJulian Eisel
Using `make icons` for 420f538fadfd changed some icons that it shouldn't have touched on my system. Not sure what caused this, maybe a bug in the slightly outdated Inkscape version there (1.0.1). Here on macOS the version is only reported as 1.0 so I'm not sure what the situation is. Either way, this fixes the icons.
2021-02-24Fix T85930: Custom Property Error: Wrong SubtypeCampbell Barton
Regression in 08dbc4f996e4e95f3ab64f7bb3e1193700c585f5 Unfortunately lambda functions don't work with postponed annotations.
2021-02-23Annotations: Add layer Opacity paramaterAntonio Vazquez
This option was removed in the refactor of grease pencil and never was set again.
2021-02-23Fix T84707: Wrong icon for Movie Clip EditorYevgeny Makarov
Sync the list of icons in CMakeLists.txt with UI_icons.h. Restore, in the source file, the FUND icon that was accidentally deleted. Delete four old/unused icons. See also D9715.
2021-02-22i18n messages extraction script: fix handling of C unicode-escapes.Bastien Montagne
rB1f5647c07d15 introduced for the first time a unicode escape in strings to be translated, directly extracted from C-code itself. This revealed that this case was not properly handled by current code, for now we work around using `raw_unicode_escape` encoding/decoding of python.
2021-02-22Fix T85850: GPencil Interpolate tool panel wrongly alignedAntonio Vazquez
The layout was wrong.
2021-02-22Fix T85869: GPencill Fill tool panel was not aligned as expectedAntonio Vazquez
The direction of the brush was displayed vertically.
2021-02-22Various UI messages fixes and tweaks.Bastien Montagne
2021-02-22Fix T85820: False Color not available in color managementEvan Wilson
Differential Revision: https://developer.blender.org/D10489
2021-02-22GPU Python: Use 'PyC_ParseStringEnum' to parse itemsGermano Cavalcante
Currently the GPU module for python has different ways to handle enums. - Organizing items in `PyC_StringEnumItems` arrays and parsing them with `PyC_ParseStringEnum`. - Using dedicated functions for each type of enum (`bpygpu_ParsePrimType`, `pygpu_ParseVertCompType` and `pygpu_ParseVertFetchMode`). Although apparently more efficient (especially `pygpu_ParseVertCompType` which transforms strings into integers for simple comparison), these dedicated functions duplicate functionality, increase the complexity of the code and consequently make it less readable. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10456
2021-02-22Fix i18n messages extraction tool after update to support py 3.10.Bastien Montagne
The new defferred approach broke existing way to access items from struct definition... See T85872.
2021-02-21UI: Correct the text alignment in the quick setup (splash screen) dialogYevgeny Makarov
The "quick setup" dialog is actually a 'menu', and the "splash screen" block contains the UI_BLOCK_LOOP flag which causes the buttons' text to align to the left, however, usually regular buttons have centered text. As a workaround, add the UI_BLOCK_QUICK_SETUP flag which prevents the text from being left-aligned. Differential Revision: https://developer.blender.org/D10486 Reviewed by: Julian Eisel
2021-02-21PyAPI: use postponed annotations to support Python 3.10Campbell Barton
Support Python 3.10a5 or 3.9x with support explicitly enabled. - Enable Python's postponed annotations for Blender's RNA classes types registered on startup. - Using postponed annotations has implications for how they are defined, since they must evaluate in the modules name-space instead of the classes name-space. See changes to annotations in `release/scripts`. - Use `from __future__ import annotations` at the top of the module to ensure the script will run with Python 3.10. - Old logic is kept since it could be used if PEP-649 is supported. Resolves T83626 Ref D10474
2021-02-21Cleanup: remove unused layers property from templateCampbell Barton
Also remove unused imports.
2021-02-21Cleanup: remove duplicate settings from operator_mesh_add templateCampbell Barton
Also move align items into the enum call as there is no need to have this accessible from the class.
2021-02-20GPencil: Remove old Interpolate menu optionAntonio Vazquez
This option was before move this action as a tool.
2021-02-20Geometry Nodes: Add string input nodeEdgar Roman Cervantes
This commit adds a simple string input node, intended for use in the attribute workflow to make using the same attribute name in multiple places easier. The node is function node similar to the existing vector input node. Ref T84971 Differential Revision: https://developer.blender.org/D10316
2021-02-19Geometry Nodes: Add simple subdivision surface nodeEitan
Add the Simple subdivision option to Geometry nodes, as a new node instead of part of the existing subdivision node because of future backend changes to the Simple option. (See T85584) https://developer.blender.org/D10409
2021-02-19GPencil: Interpolate Tools refactorAntonio Vazquez
Following with the changes included to interpolate strokes of different number of points, a full review has been done in the interpolation tools. * Interpolate now is a tool and not an operator. It was not logic to have this tool as a button. * Interpolate tool parameters have been moved to topbar. * Interpolate popover has been removed from topbar and interpolate `Sequence` operator has been moved to grease pencil menu. * Interpolate Sequence now include a Redo panel. * Interpolate tool now allows to select the strokes by pairs. This allows to interpolate any stroke with any stroke and not as before that it was only possible by drawing order. If no stroke is selected, the interpolation is done as before. * Now is possible interpolate again if a previous keyframe exist. Before, it was impossible to interpolate two times in same frame and this made impossible to do the interpolation by groups of frames. * New automatic option to `Flip strokes` if the stroke and end are not in the right position. Also the flip can be set manually for corner cases. * Cleanup of menus related to interpolate. * Fixed some bugs and removed parameters from scene because now all are tool or operator contained. * Some code cleanup and function renames. This commit also includes the some codebase to future implementation of the concept `Vertex Active` that now does not exist in grease pencil.
2021-02-19Merge branch 'blender-v2.92-release'Richard Antalik
2021-02-19VSE: Fix duplicate menu entriesPeter Fog
Commit rBf448ff2afe7a accidentally added menu entries that were removed. `use_zoom_to_fit` is duplicated in menu, others were moved to overlays menu. Remove these entries. Reviewed By: ISS, campbellbarton Differential Revision: https://developer.blender.org/D10453
2021-02-19PyAPI: bpy.utils.execfile temporarily overrides the __main__ moduleCampbell Barton
This is needed to support Python 3.10's `typing.get_type_hints`, to access the name-space used when creating the class. Also added a docstring for execfile.
2021-02-18Fix T85410: Quick liquid domain alignmentMatt Hill
When `Preferences → Editing → New Objects → Align To` is set to `3D Cursor`, the fluid domain added by `Object → Quick Effects → Quick Liquid` is aligned to the 3D cursor. This shouldn't be the case, since these aren't new objects created directly by the user. Differential Revision: https://developer.blender.org/D10467
2021-02-16UI: Add support for bl_description for panelsAaron Carlisle
This commit adds support for `bl_description` and python docstrings for panels. This is useful for pop-over panel types so they can have a label and description. This commit also includes an example use case. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10429
2021-02-16Cleanup: spellingCampbell Barton
2021-02-16Fix add-on & app-template installation logic for overwriting modulesCampbell Barton
The logic to remove one Python module before installing another only worked in simple cases where a file replaced a file. - Installing a single file add-on over a Python package with the same name caused an error as the directory isn't empty. - Removing existing module directories from the zip-file did nothing as the directories from the zip-file that end with a slash were compared with directories from `os.listdir` that don't. - `module_filesystem_remove` assumed ZipFile.namelist() was a list of files in the root of the zip-file when it's a list of all files. While I couldn't find any bugs caused by this, it performed checks that don't make sense, comparing files at different depths of the file-system.
2021-02-16Fix reloading preferences ignoring 'script_directory'Campbell Barton
Reloading preferences didn't update Python's `sys.path` to account for the modified `script_directory`. This meant the operator to load settings from a previous version required a restart to initialize Python when this directory was set.
2021-02-16Cleanup: remove local copy of shutil.copytree from Python 3.8Campbell Barton
2021-02-16UI: Clarify descriptions in properties popoverNathan Craddock
Updates the descriptions and labels for outliner sync in the properties editor popover to be more clear. Differential Revision: https://developer.blender.org/D10010
2021-02-16UI: Clarify descriptions in properties popoverNathan Craddock
Updates the descriptions and labels for outliner sync in the properties editor popover to be more clear. Differential Revision: https://developer.blender.org/D10010
2021-02-14Cleanup: Source Code Typosluzpaz
Corrects approximately 36 spelling errors in source variable names. Differential Revision: https://developer.blender.org/D10347 Reviewed by Hans Goudey
2021-02-13Merge branch 'blender-v2.92-release'Campbell Barton
2021-02-13RNA Manual Reference: Update mappingsAaron Carlisle
2021-02-13EEVEE: Depth of field: New implementationClément Foucault
This is a complete refactor over the old system. The goal was to increase quality first and then have something more flexible and optimised. |{F9603145} | {F9603142}|{F9603147}| This fixes issues we had with the old system which were: - Too much overdraw (low performance). - Not enough precision in render targets (hugly color banding/drifting). - Poor resolution near in-focus regions. - Wrong support of orthographic views. - Missing alpha support in viewport. - Missing bokeh shape inversion on foreground field. - Issues on some GPUs. (see T72489) (But I'm sure this one will have other issues as well heh...) - Fix T81092 I chose Unreal's Diaphragm DOF as a reference / goal implementation. It is well described in the presentation "A Life of a Bokeh" by Guillaume Abadie. You can check about it here https://epicgames.ent.box.com/s/s86j70iamxvsuu6j35pilypficznec04 Along side the main implementation we provide a way to increase the quality by jittering the camera position for each sample (the ones specified under the Sampling tab). The jittering is dividing the actual post processing dof radius so that it fills the undersampling. The user can still add more overblur to have a noiseless image, but reducing bokeh shape sharpness. Effect of overblur (left without, right with): | {F9603122} | {F9603123}| The actual implementation differs a bit: - Foreground gather implementation uses the same "ring binning" accumulator as background but uses a custom occlusion method. This gives the problem of inflating the foreground elements when they are over background or in-focus regions. This is was a hard decision but this was preferable to the other method that was giving poor opacity masks for foreground and had other more noticeable issues. Do note it is possible to improve this part in the future if a better alternative is found. - Use occlusion texture for foreground. Presentation says it wasn't really needed for them. - The TAA stabilisation pass is replace by a simple neighborhood clamping at the reduce copy stage for simplicity. - We don't do a brute-force in-focus separate gather pass. Instead we just do the brute force pass during resolve. Using the separate pass could be a future optimization if needed but might give less precise results. - We don't use compute shaders at all so shader branching might not be optimal. But performance is still way better than our previous implementation. - We mainly rely on density change to fix all undersampling issues even for foreground (which is something the reference implementation is not doing strangely). Remaining issues (not considered blocking for me): - Slight defocus stability: Due to slight defocus bruteforce gather using the bare scene color, highlights are dilated and make convergence quite slow or imposible when using jittered DOF (or gives ) - ~~Slight defocus inflating: There seems to be a 1px inflation discontinuity of the slight focus convolution compared to the half resolution. This is not really noticeable if using jittered camera.~~ Fixed - Foreground occlusion approximation is a bit glitchy and gives incorrect result if the a defocus foreground element overlaps a farther foreground element. Note that this is easily mitigated using the jittered camera position. |{F9603114}|{F9603115}|{F9603116}| - Foreground is inflating, not revealing background. However this avoids some other bugs too as discussed previously. Also mitigated with jittered camera position. |{F9603130}|{F9603129}| - Sensor vertical fit is still broken (does not match cycles). - Scattred bokeh shapes can be a bit strange at polygon vertices. This is due to the distance field stored in the Bokeh LUT which is not rounded at the edges. This is barely noticeable if the shape does not rotate. - ~~Sampling pattern of the jittered camera position is suboptimal. Could try something like hammersley or poisson disc distribution.~~Used hexaweb sampling pattern which is not random but has better stability and overall coverage. - Very large bokeh (> 300 px) can exhibit undersampling artifact in gather pass and quite a bit of bleeding. But at this size it is preferable to use jittered camera position. Codewise the changes are pretty much self contained and each pass are well documented. However the whole pipeline is quite complex to understand from bird's-eye view. Notes: - There is the possibility of using arbitrary bokeh texture with this implementation. However implementation is a bit involved. - Gathering max sample count is hardcoded to avoid to deal with shader variations. The actual max sample count is already quite high but samples are not evenly distributed due to the ring binning method. - While this implementation does not need 32bit/channel textures to render correctly it does use many other textures so actual VRAM usage is higher than previous method for viewport but less for render. Textures are reused to avoid many allocations. - Bokeh LUT computation is fast and done for each redraw because it can be animated. Also the texture can be shared with other viewport with different camera settings.