Blender Git Loki

Blenderin Git "master"-kehityshaaran kommitit.

Page: 315 / 5574

April 9, 2021, 08:07 (GMT)
Geometry Nodes: quiet warning when using object info node

Some object types don't have a geometry component in the depsgraph.
Before, there always was a warning printed when such an object was
used in the object info node (e.g. to get its location).
April 9, 2021, 07:14 (GMT)
Fix T87150: bad points appearance in orthographic view

Points are drawn as half octahedron (aligned to the camera).
Getting the appropriate matrix for facing the camera would fail in in
orthographic view, points were not facing the camera (revealing their
missing other half octahedron)

Maniphest Tasks: T87150

Differential Revision: https://developer.blender.org/D10923
April 9, 2021, 05:00 (GMT)
Cleanup: use const for BKE_where_on_path and related structs
April 9, 2021, 04:49 (GMT)
Fix use of uninitialized memory in BKE_scene_objects_as_gset

Share macro for setting BLI_Iterator defaults to ensure
this doesn't happen again in cases the ITER_* macros aren't used.

Oversight in 14d74fb34174a91190d35d7fe595f8dd64cb79d1.
April 8, 2021, 22:25 (GMT)
Fix: Missing GeometryNodeCustomGroup

This is a minor change to add some plumbing code
to support custom geo nodes. This is working the
same way as the custom cycles and compositor nodes.

An example add-in is attached to D10784

Reviewed By: JacquesLucke

Differential Revision: https://developer.blender.org/D10784
Revision 500045a by Hans Goudey
April 8, 2021, 19:32 (GMT)
Geometry Nodes: Support volumes in the bounding box node

Where possible, nodes in the "Geometry" category should support all
geometry component types. This adds support for volumes in the
recently added bounding box node, based on functions added in the
previous two commits.

Differential Revision: https://developer.blender.org/D10906
Revision 57fe650 by Hans Goudey
April 8, 2021, 18:44 (GMT)
BKE: Refactor volume bounding box code

This commit splits of the function that generates a bounding box for a
volume into a new function, so that the min and max coordinate can
be retrieved from volume data without an object. Also some cleanup:
using the float3 type.
Revision 0e2a1ef by Hans Goudey
April 8, 2021, 18:28 (GMT)
BKE: Add a utility to transform a shallow copy of a volume grid

Often you need to apply a transformation to a grid without changing the
original, and it's necessary to avoid a deep copy of the actual data.
OpenVDB has a function to do this, this commit simply adds a wrapper
to transform and use that function with blender's `float4x4` data type.

Split from D10906
Revision 223093e by Hans Goudey
April 8, 2021, 18:07 (GMT)
Cleanup: Remove unused includes, use consistent order
Revision 1ec9ac2 by Hans Goudey
April 8, 2021, 17:19 (GMT)
Geometry Nodes: Support instances in attribute search

Previously only attributes of "real" geometry were displayed in
attribute search. This commit adds code to look through attributes
on instances and add those to the search drop-down too.

This required implementing the same sort of recursive traversal as
the realize instances code. The situation is a bit different though,
this can return early and doesn't need to keep track of transforms.

I added a limit so that it doesn't look through the attributes of
too many instanced geometry sets. I think this is important, since
this isn't a trivial operation and it could potentially happen for
every node in a large node tree. Currently the limit is set at 8
geometry sets, which I expect will be enough, since the set of
attributes is mostly not very unique anyway.

Fixes T86282

Diffrential Revision: https://developer.blender.org/D10919
Revision fd414b4 by Hans Goudey
April 8, 2021, 17:00 (GMT)
Cleanup: Use const arguments for volume code

The problem was that you could getting write access to a grid from a
`const Volume *` without breaking const correctness. I encountered this
when working on support for volumes in the bounding box node. For
geometry nodes there is an important distinction between getting data
"for read" and "for write", with the former returning a `const` version
of the data.

Also, for volumes it was necessary to cast away const, since all of
the relevant functions in `volume.cc` didn't have const versions. This
patch adds `const` in these places, distinguising between "for read"
and "for write" versions of functions where necessary.

The downside is that loading and unloading in the global volume cache
needs const write-access to some member variables. I see that as an
inherent problem that comes up with caching that never has a beautiful
solution anyway.

Some of the const-ness could probably be propogated futher in EEVEE
code, but I'll leave that out, since there is another level of caching.

Differential Revision: https://developer.blender.org/D10916
April 8, 2021, 16:59 (GMT)
Fix T87232: Crash when evaluating object with unsupported modifier

Fix `nullptr` redeference when setting 'orig_data' pointers on CoW copies,
by stopping the loop also when `element_cow == nullptr`. This avoids a
crash of Blender when the original list of pointers is longer than the
CoW list of pointers.

I've also added a `BLI_assert()` that checks for equal lengths of the
two `ListBase`s, so that problems like these aren't hidden away completely.

The root cause of the crash was actually a modifier that was assigned to
an object of the wrong type (an Armature object doesn't support modifiers).
This caused the list of modifiers on the CoW copy to be shorter than the
list of modifiers on the original Object. It's still a mystery how that
object got that modifier in the first place.
April 8, 2021, 16:51 (GMT)
VSE: Fix crash when building proxy

When video file for strip doesn't exist, building crashes on NULL
dereference.

This check was removed by 04e1feb83051.
April 8, 2021, 16:44 (GMT)
VSE: Fix building image proxies

Broken by 04e1feb83051

Caused by accidentaly moving `SEQ_proxy_rebuild_finish` outside of
`if (nseq->type == SEQ_TYPE_MOVIE)` condition in function
`SEQ_proxy_rebuild_context()`.
April 8, 2021, 16:19 (GMT)
Cleanup:
April 8, 2021, 16:12 (GMT)
Fix previous commit: wrong `is_mesh_verts_only` check
April 8, 2021, 16:07 (GMT)
Fix T86762: Inconsistent show of result of modifier Screw in edit mode

To check if an "is_mesh_verts_only" mesh, the overlay engine checks if the
mesh has no "totedge" and has "totvert".

However, sometimes this engine can check the wrong mesh since editmesh
works on `embm->mesh_eval_final`.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D10917
April 8, 2021, 15:45 (GMT)
Fix T87107 EEVEE: Principled BSDF doesn't handle negative specular

Negative speculars are evil.
Revision 2e3b0e8 by Hans Goudey
April 8, 2021, 15:44 (GMT)
Fix: Dragging a modifier to the same index recalculates modifier stack

The fix is to simply check if the final index is the same as the start
index and not call the "reorder" callback in that case.
April 8, 2021, 15:35 (GMT)
Spreadsheet: support showing data of specific node

Previously, the spreadsheet editor could only show data of the original
and of the final evaluated object. Now it is possible to show the data
at some intermediate stages too.

For that the mode has to be set to "Node" in the spreadsheet editor.
Furthermore, the preview of a specific node has to be activated by
clicking the new icon in the header of geometry nodes.

The exact ui of this feature might be refined in upcoming commits.
It is already very useful for debugging node groups in it's current
state though.

Differential Revision: https://developer.blender.org/D10875
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021