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-12-16VSE: Add Overlay popover panelsPeter Fog
Add panels with overlay settings for strips and preview and overlay enable/disable button. Entries from the View menus moved to the overlay panels, which will simplify cluttered View menus. Additional options have been added: - Strip Name - Strip Source(ex. path) - Strip Duration So users can now select what info they need to see on the strips. When No text is displayed, waveforms are drawn in full height. Reviewed By: ISS, HooglyBoogly, pablovazquez Differential Revision: https://developer.blender.org/D9751
2020-12-16VSE: Reorder Tools in Sequencer/PreviewPeter Fog
When in Sequencer/Preview mode, the Sampler was on top, which normally is the place of Select, and Annotation seems to be after Sampler in the bottom in the various editors. Reviewed By: ISS Differential Revision: https://developer.blender.org/D9821
2020-12-16VSE: Paste strips after playhead by defaultPeter Fog
Paste copied strips after playhead, because this is more intuitive. Previous functionality is still available by enabling "Keep Offset" property, or under shortcut Ctrl+Shift+V. Reviewed By: ISS Differential Revision: https://developer.blender.org/D9734
2020-12-15Asset System: New Asset Browser editorJulian Eisel
This introduces the User Interface part of the Asset Browser, based on the design in T54642. Additions: * New Asset Browser (internally a sub-editor of the File Browser). * Navigation region showing asset categories. * Main region showing the assets of the selected asset library with previews. The assets may be stored over multiple .blends in the directory that's "mounted" as asset library in the Preferences. They will all be shown in this list. * Header with an asset library dropdown, allowing to choose the active asset library to show. Options are the "Current File" as asset library and all custom libraries. * Display popover, filter popover and search box (partially dummies, see T82680). * Sidebar showing the metadata of the currently active file (name, preview, description and tags), which can be edited for assets in the "Current File" asset library. (For others it will reset on reload.) * The sidebar includes a button to load a custom preview image from a file. * Make asset files draggable (with preview image). * If a library with invalid path is selected, a message is drawn in the main region to help the user understand what's wrong. * Operators to add and remove asset tags. Exposed in the sidebar. * "Only Assets" option for Link/Append. * Internal utilities for asset UI scripts. For screenshots or demo videos, please see D9725. Or the 2.92 release notes. Note that there are many things to be tweaked and polished in the Asset Browser UI still. For example, the filter and display popovers are mostly dummies. See T82680. Part of the first Asset Browser milestone. Check the #asset_browser_milestone_1 project milestone on developer.blender.org. Differential Revision: https://developer.blender.org/D9725 Reviewed by: Brecht Van Lommel, Hans Goudey
2020-12-15Asset System: Support custom asset library paths through PreferencesJulian Eisel
One of the core design aspects of the Asset Browser is that users can "mount" custom asset libraries via the Preferences. Currently an asset library is just a directory with one or more .blend files in it. We could easily support a single .blend file as asset library as well (rather than a directory). It's just disabled currently. Note that in earlier designs, asset libraries were called repositories. Idea is simple: In Preferences > File Paths, you can create custom libraries, by setting a name and selecting a path. The name is ensured to be unique. If the name or path are empty, the Asset Browser will not show it in the list of available asset libraries. The library path is not checked for validity, the Asset Browser will allow selecting invalid libraries, but show a message instead of the file list, to help the user understand what's going on. Of course the actual Asset Browser UI is not part of this commit, it's in one of the following ones. {F9497950} Part of the first Asset Browser milestone. Check the #asset_browser_milestone_1 project milestone on developer.blender.org. Differential Revision: https://developer.blender.org/D9722 Reviewed by: Brecht Van Lommel, Hans Goudey
2020-12-15Move Point Cloud object back to Experimental FeaturesDalai Felinto
The geometry-nodes features no longer depend on the point cloud object. Therefore the point cloud object, although important in the future, can be postponed until we have render and edit mode fully working. This reverts commits: * ea74ed5a7a2031b614d401e394f2e0146fc90155. * dc614c68ef2c8ca8b076a000974b5a20a4145a42.
2020-12-14GPencil: Add missing Pin icon for default eraserAntonio Vazquez
This icon allows to set the default eraser when press Ctrl key and was removed by error in the brush refactor.
2020-12-14Fix T83696: Add Additional menu to Effects panelAntonio Vazquez
This adds the missing options for the effects as it is done in modifiers. Reviewed By: HooglyBoogly Maniphest Tasks: T83696 Differential Revision: https://developer.blender.org/D9838
2020-12-14Eevee: Add Volume Transmittance to Color Render Passes.Jeroen Bakker
In Cycles the volume transmittance is already composited into the color passes. In Eevee the volume transmittance pass was separate and needed to be composited in the compositor. This patch adds the volume transmittance pass direct in the next render passes: * Diffuse Color * Specular Color * Emission * Environment This patch includes the removal of the volume transmittance render pass. It also renames the volume render passes to match Cycles. The setting themselves aren't unified. Maniphest Tasks: T81134
2020-12-14Cleanup: Fix capitalization in various placesYevgeny Makarov
Approximately 33 changes of capitalization to conform to MLA title style. Differential Revision: https://developer.blender.org/D9796 Reviewed by Julian Eisel
2020-12-13UI: Remove Unused 'U.wheellinescroll' PropertyYevgeny Makarov
Remove 'U.wheellinescroll' preference, currently hidden and unused. Differential Revision: https://developer.blender.org/D9616 Reviewed by Brecht Van Lommel
2020-12-12UI: Add more property editor operators to IC keymapHans Goudey
As a followup for rB2b3d85d7d6771, this commit adds the remove and copy operators for grease pencil modifiers, effects, and constraints where they apply.
2020-12-12UI: Allow UI to pass focused data-block to operators via contextJulian Eisel
This is similar to c4a2067130130d, but applies to the general UI and is only about single data-blocks. Here there was a similar problem: How can buttons pass the data they represent to operators? We currently resort to ugly ad-hoc solutions like `UI_context_active_but_get_tab_ID()`. So the operator would need to know that it is executed on a tab button that represents a data-block. A single button can now hand operators a data-block to operate on. The operator can request it via the "id" context member (`CTX_data_pointer_get_type(C, "id", &RNA_ID)` in C, `bpy.context.id` in .py). In this commit, it is already set in the following places: * Generic RNA button code sets it to the pointed to data-block, if the button represents a data-block RNA pointer property. (I.e for general data-block search buttons.) * Data-block selectors (`templateID`) set it to the currently active data-block. * The material slot UI-List sets it for each slot to the material it represents. The button context menu code is modified so its operators use the context set for the layout of its parent button (i.e. `layout.context_pointer_set()`). No user visible changes. This new design isn't actually used yet. It will be soon for asset operators. Reviewed as part of https://developer.blender.org/D9717. Reviewed by: Brecht Van Lommel
2020-12-11Licenses: Attribution documentDalai Felinto
This document helps Blender users to known what is the library of each individual 3rd party components that Blender depend on. Generated using: https://github.com/amzn/oss-attribution-builder This is based on the libraries in extern and the svn libraries. For the libraries in extern the README.blender was used as reference. For the libraries in svn I used `cmake/versions.cmake`. Note that the crediting is a bit of hit and miss. For some projects this is very clear, while for others I had to do some digging. Either way I gave my best shot. The sources to (re-)generate this file is local at the moment. But it should be moved to our infra-structure at some point. Differential Revision: https://developer.blender.org/D9798
2020-12-11UI: Consistent Range DescriptionsYevgeny Makarov
Unifying range descriptions as a value 'to' a value. Differential Revision: https://developer.blender.org/D9771 Reviewed by Julian Eisel
2020-12-11Geometry Nodes: add Attribute Mix nodeJacques Lucke
This node can be used to mix two attributes in various ways. The blend modes are the same as in the MixRGB shader node. Differential Revision: https://developer.blender.org/D9737 Ref T82374.
2020-12-11Correct the order of the last two arguments in ↵Evan Wilson
`eevee_cryptomatte_shading_group_create` When compiling on Windows, the following warnings occur: ```[3468/4560] Building C object source\blender\draw\CMakeFiles\bf_draw.dir\engines\eevee\eevee_cryptomatte.c.obj C:\blender-git\blender\source\blender\draw\engines\eevee\eevee_cryptomatte.c(306): warning C4047: 'function': 'bool' differs in levels of indirection from 'void *' C:\blender-git\blender\source\blender\draw\engines\eevee\eevee_cryptomatte.c(306): warning C4024: 'eevee_cryptomatte_shading_group_create': different types for formal and actual parameter 5``` As @Severin pointed out [here](https://developer.blender.org/rB76a0b322e4d3244e59a154c8255b84a4fbc33117#288960), this is due to the last two arguments being flipped. This diff corrects the order. Reviewed By: Severin, fclem Differential Revision: https://developer.blender.org/D9809
2020-12-11Cleanup: trailing spaceCampbell Barton
2020-12-11UI: Use 'and' Instead of '&' in DescriptionsYevgeny Makarov
Use 'and' instead of ampersand in descriptions and comments. Differential Revision: https://developer.blender.org/D9797 Reviewed by Aaron Carlisle
2020-12-10Geometry Nodes: Attribute Fill NodeHans Goudey
This commit adds a node that fills every element of an attribute with the same value. Currently it supports float, vector, and color attributes. An immediate use case is for "billboard" scattering. Currently people are using the same input to a Random Attribute node's min and max input to fill every element of a vector with the same value, which is an unintuitive way to accomplish the same thing. Differential Revision: https://developer.blender.org/D9790
2020-12-10Fix missing custom-property escaping for whole-character keying setCampbell Barton
Custom properties with characters that needed escaping had f-curves created with invalid paths.
2020-12-10PyAPI: add bpy.utils.unescape_identifierCampbell Barton
Utility to perform the reverse of `bpy.utils.escape_identifier`
2020-12-10Sculpt: Elastic deform type for Snake HookPablo Dobarro
This adds deformation types to snake hook and the elastic deformation type. This mode deforms the mesh using a kelvinlet instead of applying the displacement directly inside the brush radius, which is great for stylized shapes sketching. Changes in rake rotation when using elastic are too strong when set to 1, so I'll add a nicer way to support rake rotations with smoother transitions in the future. Reviewed By: sergey, JulienKaspar Differential Revision: https://developer.blender.org/D9560
2020-12-09Workaround for Access Violation startup crash on deprecated Radeon GPUs on ↵Jeroen Bakker
Windows This is a workaround for T80804. There's a startup crash that happens on 2.91.0 on Windows, an `EXCEPTION_ACCESS_VIOLATION` on `atio6axx.dll`. It is triggered by `glClear` on the `detect_mip_render_workaround` function. The workaround moves the function after the device/driver workaround section and sets the flag to the affected one to avoid running the check. It is deprecated hardware that has not meet the minimum requirements since 2.79, but is still usable and this extends its usability a bit before the cards are finally blacklisted. Reviewed By: Jeroen Bakker Differential Revision: https://developer.blender.org/D9667
2020-12-09Blender LTS: Download + Release notes CMS scriptsJeroen Bakker
This patch contains 2 scripts that will help with LTS releases create_download_urls.py This python script is used to generate the download urls which we can copy-paste directly into the CMS of www.blender.org. Usage: create_download_urls.py --version 2.83.7 Arguments: --version VERSION Version string in the form of {major}.{minor}.{build} (eg 2.83.7) The resulting html will be printed to the console. create_release_notes.py ======================= This python script is used to generate the release notes which we can copy-paste directly into the CMS of www.blender.org and stores. Usage: ./create_release_notes.py --task=T77348 --version=2.83.7 Arguments: --version VERSION Version string in the form of {major}.{minor}.{build} (e.g. 2.83.7) --task TASK Phabricator ticket that is contains the release notes information (e.g. T77348) --format FORMAT Format the result in `text`, `steam`, `wiki` or `html` Requirements ============ * Python 3.8 or later * Python phabricator client version 0.7.0 https://pypi.org/project/phabricator/ For convenience the python modules can be installed using pip. pip3 install -r ./requirements.txt Differential Revision: https://developer.blender.org/D9055
2020-12-09Fix custom-property UI allowing long names that raised errorsCampbell Barton
Rename `rna_property` to `rna_custom_property` to differentiate it from a more general property.
2020-12-09Fix custom property UI handling names with quotes and back-slashesCampbell Barton
Custom property names wasn't escaping strings, causing exceptions editing custom properties with characters that needed to be escaped.
2020-12-08Removing ISC licenseDalai Felinto
Blender actually uses the ICS license, not ISC.
2020-12-08UI: Add Heading to Curve Deform TogglesWilliam Reynish
Adds a heading to the three Properties Curve Deform toggles. Differential Revision: https://developer.blender.org/D9766 Reviewed by Julian Eisel
2020-12-08IC keymap: Properties and Modifier ChangesWilliam Reynish
Updating Industry Compatible keymap for Property filtering and new Modifier behavior. Differential Revision: https://developer.blender.org/D9765 Reviewed by Julian Eisel
2020-12-08Userprefs: Tooltips Section Layout TweaksWilliam Reynish
Small improvements to the layout of the Tooltips section in Preferences. Differential Revision: https://developer.blender.org/D9772 Reviewed by Pablo Vazquez
2020-12-07UI: Fix mistakes in UI messages.Bastien Montagne
2020-12-07Fix Cryptomatte panel not visible in EEVEEJeroen Bakker
Caused by {rB5baae026a86f}
2020-12-07Cycles: Use Blender Cryptomatte Settings.Jeroen Bakker
Blender has now the place to store the Cryptomatte settings. This patch migrates Cycles to use the new settings. Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D9746
2020-12-06UI: 'About Blender' with Full LogoYevgeny Makarov
New layout for the 'About' dialog featuring the full version of the Blender logo. Differential Revision: https://developer.blender.org/D9507 Reviewed by Hans Goudey
2020-12-04i18n utils CLI: add missing RTL process command.Bastien Montagne
2020-12-04i18n utils: Add first version of the CLI wrapper around i18n tools.Bastien Montagne
Plan is to use that in new 'buildbot' pipeline to automate generation of i18n files for Blender.
2020-12-04i18n utils: Add a helper to list and match po files with languages codes.Bastien Montagne
This code was previously done in the add-on, but we'll need it for the CLI tool as well, so now it is a utils generator instead.
2020-12-04i18n utils : Reduce dependency to Blender bpy API, step 2.Bastien Montagne
Remove some top imports of bpy, only import it in a few specific functions that only make sense when used whithin Blender anyway.
2020-12-04i18n utils: reduce dependency to Blender bpy API, step 1.Bastien Montagne
This involves re-implementing some of Blender-defined helpers in utils, we keep debug code to ensure those are still matching on behavior/results sides. This will allow to get more i18n tools independent from blender executable.
2020-12-04i18n utils: Cleanup.Bastien Montagne
2020-12-04Point users to new location of "Show Group Colors" optionSybren A. Stüvel
In ad85256e7108 the "Show Group Colors" option was changed from a per-editor option to a user preference. Since so many people wanted to turn this option off, this makes sense. However, this move caused some confusion because the option was just gone from the menu. This commit adds a dummy menu item. It's disabled, and the tooltip explains that the option can now be found in Preferences. T83390 was created to track the removal of these hints. Reviewed by: Severin Differential Revision: https://developer.blender.org/D9735
2020-12-04EEVEE CryptomatteJeroen Bakker
Cryptomatte is a standard to efficiently create mattes for compositing. The renderer outputs the required render passes, which can then be used in the compositor to create masks for specified objects. Unlike the Material and Object Index passes, the objects to isolate are selected in compositing, and mattes will be anti-aliased. Cryptomatte was already available in Cycles this patch adds it to the EEVEE render engine. Original specification can be found at https://raw.githubusercontent.com/Psyop/Cryptomatte/master/specification/IDmattes_poster.pdf **Accurate mode** Following Cycles, there are two accuracy modes. The difference between the two modes is the number of render samples they take into account to create the render passes. When accurate mode is off the number of levels is used. When accuracy mode is active, the number of render samples is used. **Deviation from standard** Cryptomatte specification is based on a path trace approach where samples and coverage are calculated at the same time. In EEVEE a sample is an exact match on top of a prepared depth buffer. Coverage is at that moment always 1. By sampling multiple times the number of surface hits decides the actual surface coverage for a matte per pixel. **Implementation Overview** When drawing to the cryptomatte GPU buffer the depth of the fragment is matched to the active depth buffer. The hashes of each cryptomatte layer is written in the GPU buffer. The exact layout depends on the active cryptomatte layers. The GPU buffer is downloaded and integrated into an accumulation buffer (stored in CPU RAM). The accumulation buffer stores the hashes + weights for a number of levels, layers per pixel. When a hash already exists the weight will be increased. When the hash doesn't exists it will be added to the buffer. After all the samples have been calculated the accumulation buffer is processed. During this phase the total pixel weights of each layer is mapped to be in a range between 0 and 1. The hashes are also sorted (highest weight first). Blender Kernel now has a `BKE_cryptomatte` header that access to common functions for cryptomatte. This will in the future be used by the API. * Alpha blended materials aren't supported. Alpha blended materials support in render passes needs research how to implement it in a maintainable way for any render pass. This is a list of tasks that needs to be done for the same release that this patch lands on (Blender 2.92) * T82571 Add render tests. * T82572 Documentation. * T82573 Store hashes + Object names in the render result header. * T82574 Use threading to increase performance in accumulation and post processing. * T82575 Merge the cycles and EEVEE settings as they are identical. * T82576 Add RNA to extract the cryptomatte hashes to use in python scripts. Reviewed By: Clément Foucault Maniphest Tasks: T81058 Differential Revision: https://developer.blender.org/D9165
2020-12-04EEVEE: Arbitrary Output VariablesJeroen Bakker
This patch adds support for AOVs in EEVEE. AOV Outputs can be defined in the render pass tab and used in shader materials. Both Object and World based shaders are supported. The AOV can be previewed in the viewport using the renderpass selector in the shading popover. AOV names that conflict with other AOVs are automatically corrected. AOV conflicts with render passes get a warning icon. The reason behind this is that changing render engines/passes can change the conflict, but you might not notice it. Changing this automatically would also make the materials incorrect, so best to leave this to the user. **Implementation** The patch adds a copies the AOV structures of Cycles into Blender. The goal is that the Cycles will use Blenders AOV defintions. In the Blender kernel (`layer.c`) the logic of these structures are implemented. The GLSL shader of any GPUMaterial can hold multiple outputs (the main output and the AOV outputs) based on the renderPassUBO the right output is selected. This selection uses an hash that encodes the AOV structure. The full AOV needed to be encoded when actually drawing the material pass as the AOV type changes the behavior of the AOV. This isn't known yet when the GLSL is compiled. **Future Developments** * The AOV definitions in the render layer panel isn't shared with Cycles. Cycles should be migrated to use the same viewlayer aovs. During a previous attempt this failed as the AOV validation in cycles and in Blender have implementation differences what made it crash when an aov name was invalid. This could be fixed by extending the external render engine API. * Add support to Cycles to render AOVs in the 3d viewport. * Use a drop down list for selecting AOVs in the AOV Output node. * Give user feedback when multiple AOV output nodes with the same AOV name exists in the same shader. * Fix viewing single channel images in the image editor [T83314] * Reduce viewport render time by only render needed draw passes. [T83316] Reviewed By: Brecht van Lommel, Clément Foucault Differential Revision: https://developer.blender.org/D7010
2020-12-04UI: Remove Decorators from Keymap PreferencesYevgeny Makarov
Improvements to the layout of the Keymaps section of Preferences by removing unneeded Decorator columns. Differential Revision: https://developer.blender.org/D9726 Reviewed by Hans Goudey
2020-12-04Sculpt: Wet paint area radiusPablo Dobarro
This adds a new property to the sculpt vertex color paint brush to limit the area of the brush that is going to be used to sample the wet paint color. This is exactly the same concept as normal radius and area radius that exist for sculpting brushes for sampling the surface depth and orientation. When working near color hard edges, this allows to prevent the color from the other side of the edge to blend into the wet paint. With 1.0 (the previous default) wet paint radius, as soon as the brush touches one vertex of the other color, the wet paint mix color changes, making it impossible to maintain the border between the two colors. Reviewed By: sergey, dbystedt, JulienKaspar Differential Revision: https://developer.blender.org/D9587
2020-12-04Fix T82872: Add design task link for tilt supportPablo Dobarro
Reviewed By: sergey, Blendify Maniphest Tasks: T82872 Differential Revision: https://developer.blender.org/D9615
2020-12-03GPencil: Add Vertex Paint operators to Paint menuAntonio Vazquez
These operators existed since 2.83, but the menu was hidden by error. Also the operators have been cleanup and make multiframe compatible. Reviewed By: mendio Differential Revision: https://developer.blender.org/D9671
2020-12-03Fix: remove `show_group_colors` from graph editor menuSybren A. Stüvel
The `show_group_colors` option was moved to the user preferences in ad85256e71, but accidentally remained in the graph editor menu.
2020-12-03Add Custom Object Space to ConstraintsHenrik Dick
Add Custom Space to the list of space conversions for constraints. Constraints can use World Space, Local Space, Pose Space, Local with Parent, and now also Custom Space with a custom object to define the evaluation space. The Custom Space option uses the Local Space of an other object/bone/vertex group. If selected on owner or target it will show a box for object selection. If an armature is selected, then it will also show a box for bone selection. If a mesh object is selected it will show the option for using the local space of a vertex group. Reviewed By: #animation_rigging, sybren, Severin, angavrilov Differential Revision: https://developer.blender.org/D7437