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
path: root/source
AgeCommit message (Collapse)Author
2021-02-17Cleanup: Make ChunkOrderHotspot a structJeroen Bakker
2021-02-17Cleanup: Make ChunkOrder a struct.Jeroen Bakker
2021-02-17Cleanup: Use 'pygpu_' prefix in the cpython GPU moduleGermano Cavalcante
`py_` prefix can be confused with the Python's own API's.
2021-02-17Cleanup: Fix typo errorAntonio Vazquez
2021-02-17Fix T80862: Small stroke opacity modulation is best done in the fragment shaderJamell Moore
To avoid anti-aliasing artifacts on GPencil strokes that have a size smaller than 1 the thickness is clamped and the opacity reduced. This was done in vertex shader but this had the side effect of causing strokes that go from large to small to fade across their lengths. **Solution** The opacity modulation has now been moved to the fragment shader as advised by Clément Foucault. The strokeThickness that was passed to the shader was clamped to prevent it from being too small so an additional unclamped thickness has been passed to the fragment to calculate the opacity modulation. Alternatively I could have chosen strokeThickness and clampedThickness but I decided against renaming the variables in the current code. Reviewed By: fclem Differential Revision: https://developer.blender.org/D10438
2021-02-17Geometry Nodes: realize instances before deform modifierJacques Lucke
This is a follow up commit for rB96da8e9ca302b8d879744. Ref T85281.
2021-02-17Geometry Nodes: realize instances before passing geometry to constructive ↵Jacques Lucke
mesh modifier Previously, when the output of a Geometry Nodes modifier would contain instances, those could not be accessed by other existing modifiers (e.g. the Array modifier). That is because those modifiers don't know about instances. Upcoming commits will improve an this in two ways: * Also realize instances before deform modifiers. * Convert a point cloud in the geometry to mesh vertices so that they can be accessed as well. Note, making instances real can result in loosing some information that we do not support in Geometry Nodes yet. That includes some special builtin attributes like bevel weights. Ref T85281. Differential Revision: https://developer.blender.org/D10432
2021-02-17Fix: NLA Blend Domain Enable All TypoWayde Moss
Introduced by my recent commit: rBc48360c2559a Accidentally used 4 instead of `necs->length`.
2021-02-17Geometry Nodes: Support integer type in the Attribute Fill NodeHans Goudey
This will be used by the material index attribute when it is added.
2021-02-17Fix T85716: "Applied Modifier:" report hides more important messageHans Goudey
Since "Applied Modifier" was always added last, it obscured more important messages when using the shortcut to delete modifiers. The purpose of the report when using the shortcut was to make it clear that something happened. Since another report does that anyway, only display the "Applied Modifier" report if the report list length hasn't changed.
2021-02-17Fix: NLA Blends Non-Animated Upper Channel ValuesWayde Moss
Issue introduced by my commit: rB40b7929cc040 **User-level Problem**: The issue resulted in a full-replace upper strip with only a Z location channel full-replacing the XY location channels of the lower stack. replaced to default. The expected behavior is that only the Z location channel is affected. **Technical-level Problem**: Before the problematic commit, fcurves were blended as they were read. So only existing animated channels would blend. My recent commit changed the process to read all fcurve values into an isolated upper_snapshot then blend with the lower stack. There is no data stored to know whether the upper snapshot channel values were sampled from fcurves or were default values. Only those sampled from fcurves should be blended. **Solution**: Added a `blend_domain` bitmask member to NlaEvalChannelSnapshot. The blending function only blends values within the `blend_domain`. Sampled fcurve values are now marked as within the `blend_domain`. We also now always copy the lower snapshot to the result snapshot which only matters when they aren't the same. Currently, it's always the same so the change is more for future unseen cases. Reviewed By: sybren, #animation_rigging Differential Revision: https://developer.blender.org/D10339
2021-02-17Cleanup: Return bool instead of intHans Goudey
2021-02-17Cleanup: use edituv prefix for stretch area/angle dataCampbell Barton
2021-02-17Merge branch 'blender-v2.92-release'Campbell Barton
2021-02-17Fix T85680: Crash displaying UV stretch/area with modifiersCampbell Barton
This uses the same logic as drawing UV's, where non-bmesh defaults to mesh.
2021-02-17Cleanup: spellingCampbell Barton
2021-02-17Cleanup: pass scene as constCampbell Barton
2021-02-17Cleanup: remove commented functionCampbell Barton
2021-02-17Fix T85664: 3D Viewport issues with curve poly splinesHans Goudey
Caused by cleanup in rBcdb3cbd64401, where an index was used to index `float *` instead of `float[3]`.
2021-02-17Geometry Nodes: Node error messagesHans Goudey
This patch adds icons to the right side of nodes when they encounter a a problem. When hovered, a tooltip displays describing the encountered while evaluating the node. Some examples are: attribute doesn't exist, mesh has no faces, incorrect attribute type, etc. Exposing more messages to the system will be an ongoing process. Multiple warnings per node are supported. The system is implemented somewhat generically so that the basic structure can also be used to store more information from evaluation for the interface, like a list of available attributes. Currently the messages are just button tooltips. They could be styled differently in the future. Another limitation is that every instance of a node group in a parent node tree will have the same error messages, the "evaluation context" used to decide when to display the tooltips must be extended to support node tree paths. Differential Revision: https://developer.blender.org/D10290
2021-02-17Cleanup: Use consistent order placement for includeHans Goudey
2021-02-16Cleanup: Used derived node in geometry exec paramsHans Goudey
Since the derived node tree is already build for the evaluation system, it's simpler to pass a derived node to the params struct. This will also allow context lookups in nested node groups for node error messages, since the derived node has that information readily accessible.
2021-02-16Cleanup: Remove use of designated initializers in C++Hans Goudey
2021-02-16Cleanup: Compile node_draw.c with C++Hans Goudey
This will allow using C++ data structures to draw node error messages. This required removing a forward declared enum for grease pencil undo. Compiles with clang tidy.
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-16Assets: Remove appended asset when dropping operation failsJulian Eisel
When dropping an asset somewhere, it is appended and then a drop operation is called to actually add it to the scene based on current context. If this drop operation fails, the appended data-block is now still in the .blend. The user may not notice and not expect this. Instead idea is to rollback any changes done by dropping code if the operation fails, namely removing the appended data-block again. Adds a new `cancel()` callback which is called if the drop operator returns `OPERATOR_CANCELLED` to drop-boxes and a generic function to deal with assets on drop failure. Also removes the `free_id_on_error` property of the `NODE_OT_add_group` operator, which was used as ad-hoc solution to get this same behavior.
2021-02-16Fix T85697: implement interpolation for float custom data typeJacques Lucke
This just hasn't been implemented before.
2021-02-16LibOverride: Add support for rotation mode of PoseBones.Bastien Montagne
Request from the studio.
2021-02-16Merge branch 'blender-v2.92-release'Philipp Oeser
2021-02-16Fixes T84928 : Lattice vertices at unexpected positions when changing ↵Pratik Borhade
lattice resolution from 1 to 3 or more. Fix for T84928 . Considering the changes , issue is resolved ( Ignoring readability issues) . **Changes **: - `Change in value assignment of fu/v/w :` Observing previous code , I noticed ,value assigned to them is equivalent to -0.5 ( i.e. co-ordinate of left most vertex of lattice size =1 where centre of lattice is origin ) . - `Change in value assignment of du/v/w :` Margin ( distance ) between each division of surface along any axis is equivalent to **( (length of surface along axis ) / (no of division line - 1) )** . that's why is changed it to (default_size/unew -1) . - ` New variable declared "default_size" :` As far as I gone through the code , I noticed values 1 < du ,fu < 1 , which indicates these values were calculated with respect to default lattice of size 1 . - `removed pntsu/v/w != 1 check :` Following changes inside the if block worked properly for pntsu/v/w = 1 . Reviewed By: lichtwerk, campbellbarton Differential Revision: https://developer.blender.org/D10353
2021-02-16Fix T85697: subdivision surface node output does not contain vertex group namesJacques Lucke
The vertex weights were actually interpolated correctly. The issue was that vertex group names were removed from the output geometry set. We have to keep track of these names separately from the mesh, for legacy reasons. Vertex group names are not stored on meshes but objects instead.
2021-02-16Geometry Nodes: move realize-instances code to blenkernelJacques Lucke
I need to access this functionality from modifier code. Therefore it should not be in the nodes module.
2021-02-16Geometry Nodes: move geometry set instance handling to separate fileJacques Lucke
In an upcoming commit I'll also move the make-instances-real functionality to this file. This code is not essential to working with geometry sets in general, so it makes sense to move it to a separate header.
2021-02-16Geometry Nodes: move some attribute utilities to blenkernelJacques Lucke
I need to access these utilities from modifier code as well. Therefore, they should not live in the nodes module.
2021-02-16Cleanup: spellingCampbell Barton
2021-02-16Workbench: Improve AntiAliasing samplingJeroen Bakker
This improves stability and convergence speed of Workbench Temporal AntiAliasing. This adds a filtering kernel (blackmann-haris, same as EEVEE/Cycles) to the temporal antialiasing sampling. We also gather neighbor pixels since they might end up in the pixel footprint. We use a 1px radius for the filter window which is a bit less than the 1.5 default of cycles and EEVEE since it does blur quite a bit more than what we have now. Another improvement is that the filtering is now in log space which improves AntiAliasing around highlights. Theses improvement may not be very useful for every day case but it was an experiment to try to make TAA usable for GPencil. Test file used : {F9798807} |filtered+logspace|filtered|original| |{F9798847}|{F9798848}|{F9798849}| Reviewed By: jbakker Differential Revision: https://developer.blender.org/D10414
2021-02-16Merge branch 'blender-v2.92-release'Nicholas Rishel
# Conflicts: # intern/ghost/intern/GHOST_SystemWin32.cpp # intern/ghost/intern/GHOST_WindowWin32.cpp # intern/ghost/intern/GHOST_WindowWin32.h
2021-02-16Revert Wintab High Frequency Input.Nicholas Rishel
This revert removes handling of cursor move and button press events during Wintab's WT_PACKET event, instead storing pressure and tilt information to be combined with Window's WM_MOUSEMOVE events. This also reverts dynamic enabling and disabling of Wintab, dependent on the chosen Tablet API. If the Tablet API is not explictly Windows Ink during startup, Wintab is loaded and enabled. Left in place is a fallback to Windows Ink when the Tablet API is set to Automatic and no Wintab devices are present. This allows devices with Wintab installed but not active to fallback to Windows Ink. Using position provided by Wintab was found to have too many regressions to include in Blender 2.93. The primary source of regressions was tablets which mapped coordinates incorrectly on multi- monitor and scaled displays. This resulted in an offset between what the driver controlled Win32 cursor position and the Wintab reported position. A special case of this included tablets set to mouse mode, where Wintab reported absolute position while the system cursor moved as a relative mouse with mouse acceleration.
2021-02-16Docs: add a docstring for UserDef.pythondirCampbell Barton
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-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-15Fix T85587: Crash on selecting multiple framesFalk David
Blender would crash when selecting multiple keyframes while multiframe edit was active. This was due to the active frame being NULL in some instances. The fix checks if the active frame is not NULL. Reviewed By: antoniov Maniphest Tasks: T85587 Differential Revision: https://developer.blender.org/D10421
2021-02-15macOS: add Embree, OpenImageDenoise and sse2neon libraries for ARMBrecht Van Lommel
This required using a fork of Embree, newer LLVM version, unreleased ISPC version and sse2neon directly from Git. Hopefully over time all the required changes end up in official releases. For now we deviate from other platforms. Based on contributions by Apple and Stefan Werner. Ref D9527, D8237, T78710
2021-02-15Merge branch 'blender-v2.92-release'Falk David
2021-02-15Fix T85499: Crash on switching to edit mode with uv editor openFalk David
A fix for T83187 (rBf83aa830) assumed in the overlay code of the uv editor that the object was a mesh when it did not have to be - causing a crash. The fix makes sure that the object is a mesh. Reviewed By: jbakker, campbellbarton Maniphest Tasks: T85499, T85495 Differential Revision: https://developer.blender.org/D10369
2021-02-15UI/Nodes: Adding node groups via drag & drop (e.g. from Asset Browser)Julian Eisel
Adds `NODE_OT_add_group` operator to add a node group from a given name, and uses that to register a node editor drop-box. When dropping a node-group asset, the ID will be appended. This is what we do for other ID assets too. Should the node group insertion fail (e.g. the group is not compatible with the current tree, as checked by the poll), the appended data-block is removed. Differential Revision: https://developer.blender.org/D10405 Reviewed by: Jacques Lucke
2021-02-15Merge branch 'blender-v2.92-release'Jacques Lucke
2021-02-15Fix T84624: node group data-block has phantom userJacques Lucke
This is because the node editor added a "real user" to the node group that it displays. It was mainly added as a hack to solve issues with custom tree types (T36024). Since we can store id references in custom properties now, this "real user" is not really necessary anymore. Given that we are close to a release, I'll only disable line for geometry nodes, for which the bug has been reported. Discussed this solution with Hans Goudey.
2021-02-15Fix: wrong clang tidy cleanupJacques Lucke
This reverts a part of rBd3960164163c910d5031a8f076c41b39e0a5503d. It is not a `std::shared_ptr` but a `boost::shared_ptr`. This could probably be fixed differently, but `NOLINT` is fine now.