Blender Git Commits

Blender Git "geometry-nodes" branch commits.

Page: 9 / 13

November 1, 2020, 04:24 (GMT)
Geometry Nodes: Fix property values reset when input socket is added

The names of the IDProperties are the socket identifiers, not their names.
November 1, 2020, 03:58 (GMT)
Merge branch 'master' into geometry-nodes
October 31, 2020, 13:21 (GMT)
Merge branch 'master' into geometry-nodes
October 31, 2020, 09:51 (GMT)
Geometry Nodes: new Subdivision Surface node

This node is similar to the subdivision surface modifier. It subdivides
the mesh component of a geometry. The options have the same meaning
as in the modifier.

Differential Revision: https://developer.blender.org/D9364
October 31, 2020, 09:43 (GMT)
Merge branch 'master' into geometry-nodes
October 31, 2020, 05:37 (GMT)
Geometry Nodes: Rename node category based on functionality

Naming based on supported geometry components only works in some cases.
For nodes that work with multiple data types, it's better to categorize
them based on their functionality.
October 31, 2020, 05:30 (GMT)
Merge branch 'master' into geometry-nodes
October 30, 2020, 16:42 (GMT)
Geometry Nodes: Add errors for out of sync sockets and properties

Theoretically the modifier's properties could be changed or removed by
Python, so it may be useful to have errors printed and added to the
modifier in that case.

I kept the check as a separate step from the `compute_geometry`
pass because the object is needed to set the modifier error message.
But it could easily be moved there in the future.
October 30, 2020, 16:29 (GMT)
Geometry Nodes: change geometry socket color

Ref T81848.
October 30, 2020, 15:40 (GMT)
Merge branch 'master' into geometry-nodes
October 30, 2020, 14:57 (GMT)
Geometry Nodes: Allow node group inputs with the same name

If we add the "name" label manually with uiItemR, we can use the socket
identifier instead of the name for the IDProperty name. This will also
allow us more flexibility in how to draw the settings in the future, and
removes the empty _RNA_UI proprety that was drawn before.
October 29, 2020, 20:53 (GMT)
Cleanup: Return early in edge split node
October 29, 2020, 20:48 (GMT)
Cleanup: Don't use unsupported struct initialization

Although this worked for me, it appears this isn't supported until C++20.
October 29, 2020, 19:11 (GMT)
Geometry Nodes: Use UI settings for properties in modifier

The system for exposing property settings like min, max, default, subtype,
etc. for ID properties is quite convoluted currently, so I won't give a
full description here, but this commit creates the tree of ID properties
needed to store that information. This means that property subtypes like
"angle" or "XYZ" will affect the display in the modifier.

Limitations:
- The _RNA_UI property is displayed in the modifier. This may require a
modification to uiDefAutoButsRNA to fix.
- IDProperties must have unique names, but node sockets don't have
that limitation. This can be solved by adding a "UI name" field to
IDProperties.
October 29, 2020, 17:27 (GMT)
Fixup for cmake header cleanup

Issue introduced on f73a420e5aceb610bc38.
October 29, 2020, 16:36 (GMT)
Geometry Nodes: Create the node group when adding a new Nodes modifier
October 29, 2020, 16:36 (GMT)
Cleanup: Nodes Modifier header to its proper location
October 29, 2020, 14:47 (GMT)
Geometry Nodes: do not reference custom data layers when copying mesh

We can't use that for now, because the original mesh might be freed
before the new copied mesh. When the original mesh is freed, the shared
layers will be freed as well.

This can probably be improved in the future, so that we can actually
share attribute arrays between meshes. An approach similar to how
geometries and components are shared should work as well.
October 29, 2020, 14:42 (GMT)
Geometry Nodes: add comment mentioning that custom data might be shared
October 29, 2020, 14:38 (GMT)
Geometry Nodes: refactor Geometry type

A geometry now contains zero or more geometry components.
A geometry component is a subclass off GeometryComponent.
Currently, there is a MeshComponent and PointCloudComponent.

A geometry contains at most one component of each type.
Individual components can be shared between multiple geometries
to avoid unnecessary copies. For that, each component has a user
count that determines when the component will be freed and whether
it is mutable.

Code working with geometries can either work with the components
directly, or use the utility functions on the geometry that cover the
most common operations.

In the future, additional component types can be added. For example,
we'll probably need components for curves and volumes.
Furthermore, something like an InstancesComponent can be added,
which contains points with attributes and references a geometry/object/collection
that is instanced on all the points.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021