Blender Git Loki

Blenderin Git "master"-kehityshaaran kommitit.

Page: 452 / 5574

Revision 2250b5c by Julian Eisel
December 18, 2020, 17:28 (GMT)
UI: Redesigned data-block selectors

The previous design is rather old and has a couple of problems:

* Scalability: The current solution of adding little icon buttons next to the
data-block name field doesn't scale well. It only works if there's a small
number of operations. We need to be able to place more items there for better
data-block management. Especially with the introduction of library overrides.
* Discoverability: It's not obvious what some of the icons do. They appear and
disappear, but it's not obvious why some are available at times and others
not.
* Unclear Status: Currently their library status (linked, indirectly linked,
broken link, library override) isn't really clear.
* Unusual behavior: Some of the icon buttons allow Shift or Ctrl clicking to
invoke alternative behaviors. This is not a usual pattern in Blender.

This patch does the following changes:

* Adds a menu to the right of the name button to access all kinds of operations
(create, delete, unlink, user management, library overrides, etc).
* Make good use of the "disabled hint" for tooltips, to explain why buttons are
disabled. The UI team wants to establish this as a good practise.
* Use superimposed icons for duplicate and unlink, rather than extra buttons
(uses less space, looks less distracting and is a nice + consistent design
language).
* Remove fake user and user count button, they are available from the menu now.
* Support tooltips for superimposed icons (committed mouse hover feedback to
master already).
* Slightly increase size of the name button - it was already a bit small
before, and the move from real buttons to superimposed icons reduces usable
space for the name itself.
* More clearly differentiate between duplicate and creating a new data-block.
The latter is only available in the menu.
* Display library status icon on the left (linked, missing library, overridden,
asset)
* Disables "Make Single User" button - in review we weren't sure if there are
good use-cases for it, so better to see if we can remove it.

Note that I do expect some aspects of this design to change still. I think some
changes are problematic, but others disagreed. I will open a feedback thread on
devtalk to see what others think.

Differential Revision: https://developer.blender.org/D8554

Reviewed by: Bastien Montagne

Design discussed and agreed on with the UI team, also see T79959.
Revision 7bee148 by Hans Goudey
December 18, 2020, 15:34 (GMT)
UI: Rename "Float Color" attribute data type to "Color"

Since "Float Color" is more commonly used than "Byte Color",
which is not exposed in the interface yet anyway, it makes sense to
drop the "Float" label on the color data type name.
December 18, 2020, 15:02 (GMT)
Geometry Nodes: support randomly picking instances from collection

This uses the "id" attribute to randomly pick instances from a collection
for each point.

There is one issue. When the collection is updated (e.g. when an object is
added to it), the nodes modifier is not automatically updated. It seems
like we don't have the infrastructure to support this dependency yet.
The same issue exists in the Boolean modifier and with collision collections.
This should be solved separately soonish.

When "Whole Collection" is disabled, one direct child of the input collection
is instanced at each point. A direct child can be an object or a collection.

Currently, all objects are picked approximately equally often. In the future,
we will provide more control over which point gets which instance.

Differential Revision: https://developer.blender.org/D9884

Ref T82372.
December 18, 2020, 14:57 (GMT)
GPencil: Fix potential error in interpolate frame

As now it is using a duplicated frame, the untag must be done before copying the frames.
December 18, 2020, 13:41 (GMT)
Fix T83916: Cannot drag link from socket if node is inside frame

Caused by rB7470c10601d0 where iterating nodetree nodes was changed from
backwards to forwards by mistake.

Maniphest Tasks: T83916

Differential Revision: https://developer.blender.org/D9890
December 18, 2020, 13:13 (GMT)
Fix T83716: Dope Sheet, incorrect scaling of channel UI elements

Change the top coordinate of the animation channel list UI elements to
`rect->ymin` so they correctly span from `rect->ymin` to
`channel_height`.

Some buttons in the dope sheet channels didn't scale properly with the
`Keyframe Scale Factor` preferences setting. This was caused by using
the `ymid` value (`ymid = BLI_rctf_cent_y(rect) - 0.5f * ICON_WIDTH`) to
position the buttons that supposed to fill all vertical space in the
channel (with `channel_height` height). The `ymid` value is only
appropriate for the UI elements that with `ICON_WIDTH` height.

Maniphest Tasks: T83716

Reviewed by: sybren

Differential Revision: https://developer.blender.org/D9841
December 18, 2020, 12:33 (GMT)
Geometry Nodes: move Boolean node to mesh category

This node works on meshes specifically.
December 18, 2020, 12:28 (GMT)
Functions: add generic pointer class for const pointers

This adds a GPointer class, which is mostly the same as GMutablePointer.
The main difference is that GPointer references const data, while GMutablePointer
references non-const data.
December 18, 2020, 12:28 (GMT)
Geometry Nodes: do not crash when there are undefined nodes

Undefined geometry nodes will just output a default value now.
December 18, 2020, 12:03 (GMT)
Function Nodes: Input Vector

Ref: T82651

Normally people use "Combine XYZ" to input a vector, but it is more
interesting to have an explicit vector input.

So this is basically "Combine XYZ" without any input sockets, the values
are stored in the node itself.

Differential Revision: https://developer.blender.org/D9885
December 18, 2020, 12:02 (GMT)
Fix mistake in Bake Action discontinuity fix

Fix mistake in e5528904f12 where one change accidentally wasn't included
in the commit.
December 18, 2020, 11:50 (GMT)
Fix T83351: Baked object rotation has discontinuities

Fix Euler discontinuities in the Bake Action operator, by explicitly
using the previous Euler angles when converting from matrix to rotation.

This basically follows the same approach as used in e4ca1fc4ea43, although
the Euler Discontinuity Filter also performs single-channel filtering which
the Bake Action operator doesn't.
December 18, 2020, 09:26 (GMT)
Fix T83494: Eevee clamp node incorrect when min > max.

In glsl the clamp function has undefined behavior when min > max. For
the clamp node this resulted in differences between cycles and eevee.
This patch adds the expected implementation for minmax.

The old clamp function is still used in cases where we know for certain
that the input values are correct (math node clamp option). GPU uses
optimized code and silicon in these cases.
December 18, 2020, 08:56 (GMT)
Fix T83625: Shading attribute names cause compilation error.

Some GPU platforms don't support having more than one underscore in
sequence in an attribute name. This change will remove the underscore
as a possible character when encoding to save names.
December 18, 2020, 08:18 (GMT)
Fix T82591: Performance regression when rendering at very high resolution

This patch introduces a partial update of GPUTexture. When rendering
a large image the GPUTexture could have been scaled. The old implementation
would rescale the image on CPU and create a new GPUTexture. This
resulted in flooding the PCI bus.

The new solution would only scale and upload the parts of the GPUTexture
that has been changed. It does this by keeping track of areas of 256x256
pixels. When something changes the tiles that cover that changes will be
rescaled and uploaded the next time the GPUTexture is requested.

Test situation: Default Cube, 4 samples, 19200x10800 tile size 512.

Blender 2.83.9: 4m27s.
Blender 2.91: 20+m (regression)
This patch: 1m01s.

There is still room for more optimizations:
* Reduce the time that an image is locked.
** Use task scheduling to update the tiles of an image.
** Generic optimization of the ImBuf scale method.

Maniphest Tasks: T82591

Differential Revision: https://developer.blender.org/D9591
Revision 095b693 by Hans Goudey
December 18, 2020, 05:35 (GMT)
Outliner: Set active modifier on click

The outliner already expands the panel for the modifier you click on,
this just extends that idea to also set it active, which is consistent
with behavior of active and selected items elsewhere in Blender.
Revision 9dbc014 by Hans Goudey
December 18, 2020, 04:53 (GMT)
Cleanup: Various clang tidy warnings

There are more in the new mesh fairing code and in the poisson
distribution code, this commit doesn't fix those.
December 18, 2020, 03:10 (GMT)
Fix T82960: Inaccurate selection on collapsed outliner rows

After rB15083d9e1 the outliner tree is not rebuilt after expanding or
collapsing rows. Because the tree is no longer rebuilt the positions
and flags of the elements are not cleared when collapsing a row. This
caused hover highlights and selections on the collapsed child icons to
be incorrect in many cases.

For example, only the direct children of a collapsed element are drawn
inline. If any grandchild elements had been previously icon row flagged
they would continue to be evaluated as icon row elements despite being
hidden. In this case the x coordinates of the child and grandchild would
overlap causing selection to appear erratic.

Now the flags for inline row icons are explicitly cleared, which was
previously only done because the tree was rebuilt on collapsing rows.
December 18, 2020, 02:59 (GMT)
Cleanup: Use LISTBASE_FOREACH macro in outliner code

No functional changes.
December 18, 2020, 01:21 (GMT)
Fix T82288 Wintab walk navigation erratic.

Walk navigation relies on tablet data being set to detect if motion is
absolute. This patch sets tablet data in Ghost to dummy values when a
tablet pen is in range and not handled by Wintab processing.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021