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-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.
2021-02-12OpenColorIO: upgrade to version 2.0.0Brecht Van Lommel
Ref T84819 Build System ============ This is an API breaking new version, and the updated code only builds with OpenColorIO 2.0 and later. Adding backwards compatibility was too complicated. * Tinyxml was replaced with Expat, adding a new dependency. * Yaml-cpp is now built as a dependency on Unix, as was already done on Windows. * Removed currently unused LCMS code. * Pystring remains built as part of OCIO itself, since it has no good build system. * Linux and macOS check for the OpenColorIO verison, and disable it if too old. Ref D10270 Processors and Transforms ========================= CPU processors now need to be created to do CPU processing. These are cached internally, but the cache lookup is not fast enough to execute per pixel or texture sample, so for performance these are now also exposed in the C API. The C API for transforms will no longer be needed afer all changes, so remove it to simplify the API and fallback implementation. Ref D10271 Display Transforms ================== Needs a bit more manual work constructing the transform. LegacyViewingPipeline could also have been used, but isn't really any simpler and since it's legacy we better not rely on it. We moved more logic into the opencolorio module, to simplify the API. There is no need to wrap a dozen functions just to be able to do this in C rather than C++. It's also tightly coupled to the GPU shader logic, and so should be in the same module. Ref D10271 GPU Display Shader ================== To avoid baking exposure and gamma into the GLSL shader and requiring slow recompiles when tweaking, we manually apply them in the shader. This leads to some logic duplicaton between the CPU and GPU display processor, but it seems unavoidable. Caching was also changed. Previously this was done both on the imbuf and opencolorio module levels. Now it's all done in the opencolorio module by simply matching color space names. We no longer use cacheIDs from OpenColorIO since computing them is expensive, and they are unlikely to match now that more is baked into the shader code. Shaders can now use multiple 2D textures, 3D textures and uniforms, rather than a single 3D texture. So allocating and binding those adds some code. Color space conversions for blending with overlays is now hardcoded in the shader. This was using harcoded numbers anyway, if this every becomes a general OpenColorIO transform it can be changed, but for now there is no point to add code complexity. Ref D10273 CIE XYZ ======= We need standard CIE XYZ values for rendering effects like blackbody emission. The relation to the scene linear role is based on OpenColorIO configuration. In OpenColorIO 2.0 configs roles can no longer have the same name as color spaces, which means our XYZ role and colorspace in the configuration give an error. Instead use the new standard aces_interchange role, which relates scene linear to a known scene referred color space. Compatibility with the old XYZ role is preserved, if the configuration file has no conflicting names. Also includes a non-functional change to the configuraton file to use an XYZ-to-ACES matrix instead of REC709-to-ACES, makes debugging a little easier since the matrix is the same one we have in the code now and that is also found easily in the ACES specs. Ref D10274
2021-02-12Merge branch 'blender-v2.92-release'Jeroen Bakker
2021-02-12Cycles: Use Blender Settings For AOVJeroen Bakker
This patch will share the AOV settings between Cycles and Eevee. It enable using the AOV name conflict detection of Blender. This means that unlike how Cycles used to work it isn't possible to add an AOV with a similar name. Conflicts with internal render pass names will be indicated with an Warning icon. Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D9774
2021-02-12Cleanup: use the assignment operator with list-comprehensionCampbell Barton
2021-02-12Cleanup: don't subclass 'Panel' for mix-in classesCampbell Barton
This reports warnings with `--debug-python` since all panel sub-classes are expected to be registered.
2021-02-12Cleanup: remove unused panel SEQUENCER_PT_soundCampbell Barton
These have since been moved to SEQUENCER_PT_source.
2021-02-11GPencil: Move Autofit parameter from topbar to advanced panelAntonio Vazquez
As this is used only in corner cases, it is better keep in advanced panel. Also renamed to "Limit to Viewport"