Blender Git Commit Log

All Blender Git commits.

Page: 1124 / 8462

November 12, 2020, 15:58 (GMT)
Geometry Nodes: use density attribute name instead of index as node input

This implements a workaround for the issue that (for historical reasons)
the names of vertex groups are stored on the object while the actual vertex
group data is stored on the mesh.

The solution is to copy the vertex group names from the object into
the `MeshComponent` so that the information is not lost, when the
object cannot be accessed.
November 12, 2020, 15:31 (GMT)
Geometry Nodes: cleanup geometry node interface

Previously, the execution function of a geometry node has three parameters.
Now it has only one. This makes it easier to pass more information to the
execution function, that might only be used by a few nodes, because we
don't have to add more parameters that are unused in most cases.
November 12, 2020, 15:24 (GMT)
Merge branch 'blender-v2.91-release' into master
November 12, 2020, 15:20 (GMT)
Fix asserts when two (or more) SplineIK constraints have the same root

Only a single DEG operation node `POSE_SPLINE_IK_SOLVER` should
be added in this case [ see `build_splineik_pose`, same is already done
for overlapping IK in `build_ik_pose`]

ref T82347.

Reviewers: sybren

Maniphest Tasks: T82347

Differential Revision: https://developer.blender.org/D9471
November 12, 2020, 13:04 (GMT)
Merge branch 'blender-v2.91-release'
November 12, 2020, 13:03 (GMT)
Fluid: Removed clamp from force assignment

The clamp is too aggressive and results in forces being too weak.
November 12, 2020, 12:28 (GMT)
Geometry Nodes: actually create instances in Point Instance node
November 12, 2020, 12:27 (GMT)
Geometry Nodes: support instances in Transform node
November 12, 2020, 12:27 (GMT)
Geometry Nodes: new DupliGenerator for instances component

With this, instances generated in a node tree can be rendered.
November 12, 2020, 12:24 (GMT)
Geometry Nodes: improve point distribute node

* Support vertex weights to control density.
* O(n) performance instead of O(n^2).
* More stable when density weights are changed.

The vertex group has to be specified using an index for now.
This is a technical limitation that will resolved a bit later.
November 12, 2020, 12:20 (GMT)
Geometry Nodes: support geometry components in depsgraph object iterator

Objects can evaluate to a geometry set instead of a single ID (only point cloud
objects for now). In the depsgraph object iterator, those geometry components
are expanded into temporary objects.

It's important to note that instanced objects can also contain geometry
components. Therefore, they have to be split up into multiple objects
as well in some cases.

At a high level the iterator works like so:
```
for object in depsgraph:
for component in object:
yield object_from_component(component)
for dupli in make_duplis_list(object):
for component in dupli:
yield object_from_component(component)
```

DEG_iterator_objects_next has been cleaned up, to make this structure
a bit more apparent.
November 12, 2020, 11:58 (GMT)
Geometry Nodes: better handle link cycles
November 12, 2020, 11:57 (GMT)
Geometry Nodes: use GeometrySet when evaluating pointcloud modifiers

This changes the signature of the modifyPointCloud function.
I'm doing that instead of making a new callback, because it requires
changes to significantly fewer files. Eventually it would be good
combine modifyMesh, modifyHair, modifyPointCloud and modifyVolume
into one modifyGeometrySet.

I temporarily disabled the displacement only modifiers for point clouds.
Support can be added back a bit later. I assume those have not been
used anywhere anyway.

The output of point cloud modifiers can not only be another point cloud,
but also a mesh and/or some instances. I added a new geometry_set_eval
field to Object_Runtime. For point cloud objects, the final geometry is
now referenced by that pointer instead of data_eval. The data_eval field
is still initialized after modifier evaluation to make some other code happy.

The evaluated geometry set is not yet passed to the renderer, so a point
cloud is currently rendered empty.
November 12, 2020, 11:49 (GMT)
Fix NanoVDB not being enabled/disabled correctly in CMake profiles

This caused warnings when e.g. building the lite profile because NanoVDB was not disabled, but
OpenVDB was. This Fixes this by setting the "WITH_NANOVDB" flag too.
November 12, 2020, 11:24 (GMT)
Geometry Nodes: initial Object Info node

This node takes an object as input and outputs its location, rotation,
scale and geometry. Right now the loc/rot/scale are extracted from the
objects `obmat`. The geometry is just the mesh in the local space of the
source object.

We will likely need some more control over space transformations
using enums in the node, but those can be added a bit later.
November 12, 2020, 11:20 (GMT)
Geometry Nodes: initial object socket support

The fundamental difference between object sockets and the
other existing data sockets is that an object is an ID data block.
Changing the value of an object socket also changes the depsgraph.

The modifier has to analyse the node tree to figure out which other
objects it depends on. Currently, this is done very simply by just
looping over all sockets and collecting the objects. In the future
this can be improved by also figuring out what components of
an object are needed.

Instead of passing object pointers around in the node tree, we actually
use a handle. This handle is just a number internally that identifies
a specific object. The conversion between handles and object pointers
is done using a map that is provided by the modifier.

This approach has a couple of benefits. It protects us a bit from passing
around pointers that are not known to the modifier and therefore are
not in the depsgraph. Furthermore, the object pointer can change
while the handle stays the same. This is not important right now, but
is not unlikely to become useful in the future.

The API for how nodes access object pointers is not ideal yet and
will be improved in the future.
November 12, 2020, 11:02 (GMT)
Fix T81813: Keyframe handles don't follow keyframes

Add a new property `co_ui` to Keyframes, the modification of which will
apply to the keyframe itself as well as its B�zier handles.

Dragging the "Keyframe" slider in the properties panel now maintains the
deltas between the keyframe and its handles, just like moving the key in
the graph editor would.

Reviewed by @sybren in T81813.
November 12, 2020, 10:51 (GMT)
Merge branch 'blender-v2.91-release' into master
November 12, 2020, 10:51 (GMT)
Geometry Nodes: crash when using Vector Math node
November 12, 2020, 10:50 (GMT)
Fix T82466: Library Overrides: overrides disappear when appending.

`BKE_library_make_local` was not properly checking for tags and/or libs
in liboverrides case.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021