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-05Cleanup: correct spelling in commentsCampbell Barton
2021-01-27Sky Texture: change Nishita Altitude to use unit systemMarco
Differential Revision: https://developer.blender.org/D9968
2021-01-26Geometry Nodes: Support all operations in the "Attribute Math" nodeHans Goudey
This adds the ability to use all the math operations in the regular utility "Math" node. The code is quite similar to the attribute vector math node, with the simplification that the result is always a float. Differential Revision: https://developer.blender.org/D10199
2021-01-26Merge branch 'blender-v2.92-release'Robert Guetzkow
2021-01-26Fix T84708: Versioning for Set Alpha nodeRobert Guetzkow
The versioning code introduced in rB38df935c0985 skips the composite node tree that is used by the scene thus not correctly versioning Set Alpha nodes outside of node groups. This fix iterates through all node trees to version all Set Alpha nodes. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10110
2021-01-22Cleanup - Point Instance: Use own DNA structDalai Felinto
We will need to expand this node soon to add weight/count for different elements inside the collection. For that it is better to have the node to use its own DNA.
2021-01-21GPencil: Make Layer and Frame duplicate functions more flexibleAntonio Vazquez
Now it's possible to copy only part of the data. This will be used in future operators.
2021-01-20Cleanup: remove extra in trailing asteriskCampbell Barton
Comment blocks not conforming to convention.
2021-01-19Fix merge from 2.92 (subversion bump 292.14)Dalai Felinto
2021-01-19Merge branch 'blender-v2.92-release'Sebastian Parborg
2021-01-19Geometry Nodes - Object Info: option to apply obj transform to the geometryDalai Felinto
By design the modified object transformations should still work and affect the geometry nodes results. The current behaviour, however, would make the geometry from the object info to not be affected by the modified object transformations. This patch changes that by default. In a similar fashion the Location, Rotation and Scale sockets outputs should be aware of whether the output should be in the global space or in the space of the nodetree. To solve this, the patch introduces a new transformation space "enum" where users can pick "Original" or "Relative" space. Original -------- Output the geometry relative to the input object transform, and the location, rotation and scale relative to the world origin. Relative -------- Bring the input object geometry, location, rotation and scale into the modified object maintaining the relative position between the two objects in the scene. Relative space violates a bit the design of the nodetree. The geometry in this case is transformed so that moving the modified object doesn't interfere with the geometry. This is particularly useful for the boolean node for instance. "Original" is the default space, but old files are set to "Relative" for backwards compatibility. Differential Revision: https://developer.blender.org/D10124
2021-01-18Fix T84719: Doversion for curve edit settingsFalk David
Make sure default values for curve edit mode are filled for older files. Reviewed By: antoniov Maniphest Tasks: T84719 Differential Revision: https://developer.blender.org/D10136
2021-01-18Fix T84719: Doversion for curve edit settingsFalk David
Make sure default values for curve edit mode are filled for older files. Reviewed By: antoniov Maniphest Tasks: T84719 Differential Revision: https://developer.blender.org/D10136
2021-01-16GPencil: Fix initial value for fill factor after last changesAntonio Vazquez
The value has changed due a previous commit and the minimum value cannot be 0.
2021-01-16GPencil: Add new parameteres to transform layersAntonio Vazquez
When using grease pencil for drawing Storyboards, it's very common to require a transform of the layers. This transform can be done using the offset modifier, but in some cases, the scene requires a lot of modifiers and makes the file hard to work. This new feature adds a transforms Location, Rotation and Scale at Layer level, and allows to transform the layer without using a modifier, keeping the scene more clean. {F9480695} This feature was suggested by @pepeland after receiving feedback from several artists. Also, done some code cleanup and rename some functions to get a better naming. Maniphest Tasks: T83660 Differential Revision: https://developer.blender.org/D9761
2021-01-13Merge branch 'blender-v2.92-release'Hans Goudey
2021-01-13Bump file subversion after recent node versioning commitHans Goudey
2021-01-13Geometry Nodes: Rename boolean input socketsHans Goudey
"Geometry A" becomes "Geometry 1", just to be more consistent with other nodes.
2021-01-13Fix T84646: Compositor: In Blender 292 "Set Alpha" node is undefinedJeroen Bakker
Incorrect version code introduced by 9dbea1db66da would not check inside node groups.
2021-01-13Compositor: "Save as Render" for the file output nodeRobert Guetzkow
This commit adds the "Save as Render" feature to the file output node, that allows to disable the application of the configured view transform and other color management settings on the image. If disable it uses the standard view transform instead. This feature was originally suggested in T83842 and is part of the color management improvements task in T68926. With this feature it is possible to toggle the application of the color management settings for each input socket of the File Output node individually. Reviewed By: brecht Maniphest Tasks: T68926, T83842 Differential Revision: https://developer.blender.org/D9921
2021-01-11Fix versioning code outside of version checkRichard Antalik
Bug introduced in f448ff2afe7a probably due to mistake when resolving conflicts and not checking functionality.
2021-01-08VSE: Hide cache settings and adjust defaultsRichard Antalik
Adjust default cache settings for all files to store raw and final images. All settings are still available when developer extras option is enabled in user preferences. This is part of design task T80278 Differential Revision: https://developer.blender.org/D9745
2021-01-05Compositor: Alpha ModeJeroen Bakker
{D9211} introduced pre-multiplying the color for the keying node. This pre-multiplication should also be done by other keying nodes and should be the default operation for alpha node. This patch will change the logic of keying nodes (Cryptomatte Node, Channel Matte, Chroma Matte, Color Matte, Difference Matte, Distance Matte, Luminance Matte) and breaks old files. The Set alpha node has a mode parameter. This parameter changes the logic to `Apply Mask` the alpha on the RGBA channels of the input color or only replace the alpha channel (old behavior). The replace mode is automatically set for older files. When adding new files the the multiply mode is set. Reviewed By: Sergey Sharybin Differential Revision: https://developer.blender.org/D9630
2020-12-23Fluid: Added new viscosity solverSebastián Barschkis
Mainly updated the Mantaflow version. It includes the new viscosity solver plugin based on the method from 'Accurate Viscous Free Surfaces for Buckling, Coiling, and Rotating Liquids' (Batty & Bridson). In the UI, this update adds a new 'Viscosity' section to the fluid modifier UI (liquid domains only). For now, there is a single 'strength' value to control the viscosity of liquids.
2020-12-22VSE: Fix animation versioning for bezier F-curvesRichard Antalik
`seq_convert_transform_animation()` converted only keyframed value, but when bezier interpolation is used, posotion of handles was unchanged. This caused significant difference in animation. I have checked only linear interpolation when testing versioning originally.
2020-12-22UI: Properties editor popover and outliner syncNathan Craddock
This adds a popover to the properties editor. Currently the only setting is for controlling outliner to properties syncing. Because we cannot define a perfect heuristic to determine when properties editors should change tabs based on outliner icon selection, we need an option to enable or disable this behavior per properties editor. There are 3 options for controlling the syncing. Auto uses the heuristic to only allow tab switching when a properties editor and outliner share a border. On and off enable and disable syncing respectively. Differential Revision: https://developer.blender.org/D9758
2020-12-21Fix T84010: Missing scale animation versioning codeRichard Antalik
Code was removed in 247b10e6a25b but it was incorrect in first place. Conversion was done for `offset_x` and `offset_y` channel originally, but it should be done for `scale_x` and `scale_y`
2020-12-19Cleanup: Split SEQ_sequencer.h fileRichard Antalik
2020-12-18Cleanup: Various clang tidy warningsHans Goudey
There are more in the new mesh fairing code and in the poisson distribution code, this commit doesn't fix those.
2020-12-17Cleanup: Use abstraction for attribute math node inputHans Goudey
Since creating the attribute node, a helper function has been added to automatically get the input attribute or a constant value, depending on the "input type" values for the node. This commit replaces the specific implementation of that behavior with the new helper function. The versioning is necessary since the node now has a "storage" struct.
2020-12-16Fix sequencer transform test failingRichard Antalik
This was casued by incorrect versioning keyframe conversion in recent commit 571362642201.
2020-12-16VSE: Improve motion-picture workflowRichard Antalik
This commit resolves problem introduced in e1665c3d3190 - it was difficult to import media at their original resolution. This is done by using original resolution as reference for scale. All crop and strip transform values and their animation is converted form old files. To make both workflows easy to use, sequencer tool settings have been created with preset for preffered scaling method. This setting is in sequencer timeline header and add image or movie strip operator properties. Two new operators have been added: `sequencer.strip_transform_fit` operator with 3 options: Scale To Fit, Scale to Fill and Stretch To Fill. Operator can fail if strip image or video is not loaded currently, this case should be either sanitized or data loaded on demand. `sequencer.strip_transform_clear` operator with 4 options: Clear position, scale, rotation and all (previous 3 options combined). Reviewed By: sergey, fsiddi Differential Revision: https://developer.blender.org/D9582
2020-12-16Geometry Nodes: rename node to Attribute RandomizeJacques Lucke
Previously, the node was called Random Attribute. For consistency reasons, we move the "Attribute" part of the name to the front.
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-15Cleanup: reduce indirect DNA header inclusionCampbell Barton
Remove DNA headers, using forward declarations where possible. Also removed duplicate header, header including it's self and unnecessary inclusion of libc system headers from BKE header.
2020-12-14Cryptomatte: Data structure in compositor nodeJeroen Bakker
This changes the way how the mattes are stored in the compositor node. This used to be a single string what was decoded/encoded when needed. The new data structure stores all entries in `CryptomatteEntry` and is converted to the old `matte_id` property on the fly. This is done for some future changes in the workflow where a more structured approach leads to less confusing and easier to read code.
2020-12-14Fix enum-conversion, old-style-declaration warningsCampbell Barton
Introduced in 8f3a401975987c9b70f3ea0ea21977c70371b466
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-11GeometryNodes: Make properties exposed in modifier overridable.Bastien Montagne
2020-12-10Cleanup: rename BLI_strescape to BLI_str_escapeCampbell Barton
Prepare for `BLI_str_unescape` which doesn't read well without the separator.
2020-12-07File Subversion Bump: 2.92.5Jeroen Bakker
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-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-02Geometry Nodes: initial scattering and geometry nodesJacques Lucke
This is the initial merge from the geometry-nodes branch. Nodes: * Attribute Math * Boolean * Edge Split * Float Compare * Object Info * Point Distribute * Point Instance * Random Attribute * Random Float * Subdivision Surface * Transform * Triangulate It includes the initial evaluation of geometry node groups in the Geometry Nodes modifier. Notes on the Generic attribute access API The API adds an indirection for attribute access. That has the following benefits: * Most code does not have to care about how an attribute is stored internally. This is mainly necessary, because we have to deal with "legacy" attributes such as vertex weights and attributes that are embedded into other structs such as vertex positions. * When reading from an attribute, we generally don't care what domain the attribute is stored on. So we want to abstract away the interpolation that that adapts attributes from one domain to another domain (this is not actually implemented yet). Other possible improvements for later iterations include: * Actually implement interpolation between domains. * Don't use inheritance for the different attribute types. A single class for read access and one for write access might be enough, because we know all the ways in which attributes are stored internally. We don't want more different internal structures in the future. On the contrary, ideally we can consolidate the different storage formats in the future to reduce the need for this indirection. * Remove the need for heap allocations when creating attribute accessors. It includes commits from: * Dalai Felinto * Hans Goudey * Jacques Lucke * Léo Depoix
2020-12-02Add Custom Falloff Curve to the Vertex Weight Proximity Modifier.Christian Friedrich
The Vertex Weight Edit Modifier already got the Custom Curve, there was no real reason for the proximity not to have it as well. With some fixes by Bastien Montagne (@mont29). Reviewed By: mont29 Differential Revision: https://developer.blender.org/D9594
2020-11-27Fix T82758: Convert Proxy to Override: Local constraints aren't saved.Bastien Montagne
Ensure consistent order of pose bones. Now it should always match the one from bones in armature obdata (as exposed by e.g. RNA, i.e. children-first). Previously when some pose bones would need to be added or removed from a pose due to changes in the bone armature, or if bones in armature were re-ordered, the bones order in pose would not match anymore the one from armature, and could even become different between e.g. a proxy and its linked source. This was not really nice, but not a big issue before either. But with diffing process of override, consistent order of items between reference linked collection and local override one is crucial. Reviewed By: #animation_rigging, sybren Maniphest Tasks: T82758 Differential Revision: https://developer.blender.org/D9646
2020-11-20Outliner: Object state filter invert toggleNathan Craddock
This adds an invert toggle for the outliner object state filters. There are some cases where we want a filter for invertable states (Selected, Unselected) and having a single toggle to invert the filter reduces the number of separate filter types needed. This removes the "Hidden" filter which can now be replicated with an inverted "Visible" filter. Differential Revision: https://developer.blender.org/D9598
2020-11-13GPencil: Merge GSoC curve edit modeFalk David
Differential Revision: https://developer.blender.org/D8660 This patch is the result of the GSoC 2020 "Editing Grease Pencil Strokes Using Curves" project. It adds a submode to greasepencil edit mode that allows for the transformation of greasepencil strokes using bezier curves. More information about the project can be found here: https://wiki.blender.org/wiki/User:Filedescriptor/GSoC_2020.
2020-11-13Add An Opacity Slider to Overlay WireframeJun Mizutani
This patch adds an opacity slider to the wireframe overlay. The previous wireframe in dense geometry scenes could be too dark and sometimes the user just wants an impression of the geometry during modelling. Reviewed By: Jeroen Bakker Differential Revision: https://developer.blender.org/D7622
2020-11-05Rename extern rendering and proxy functionsRichard Antalik
Replace BKE_sequencer wirh SEQ_render or SEQ_proxy prefixes. In cases where function is very generic, only SEQ prefix is used. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9439