Blender Git Commit Log

Git Commits -> Revision 793547e

Revision 793547e by Jacques Lucke (master)
January 21, 2021, 09:32 (GMT)
Geometry Nodes: initial support for volumes

For the most part, this just adds boilerplate code for volume support in geometry nodes:
* Add `VolumeComponent` next to `MeshComponent`, etc.
* Support `VolumeComponent` in depsgraph object iterator.

Furthermore, I added initial volume support in a few nodes:
* The Object Info node outputs an object instance when the input is a volume object
(that will be the same for mesh objects soonish, to avoid copies).
* Support transforming a `VolumeComponent` in the Transform node.
* Support the `VolumeComponent` in Join Geometry nodes, but only when just one of the
inputs has a volume component for now.

Right now, there is no way to create a `VolumeComponent`, because the Object Info node
outputs an object instance. The `VolumeComponent` will be necessary for upcoming nodes,
which will generate volumes on the fly.

Viewport selection does not work correctly with `VolumeComponent`s currently. I don't
know why that is. That can be figured out a bit later, once we can actually create
new volumes in geometry nodes.

Ref T84604.

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

Commit Details:

Full Hash: 793547e7d1401ad545e0450b80c7bafd521c60e1
Parent Commit: 985bc08
Lines Changed: +233, -0

8 Modified Paths:

/source/blender/blenkernel/BKE_geometry_set.hh (+27, -0) (Diff)
/source/blender/blenkernel/intern/geometry_set.cc (+103, -0) (Diff)
/source/blender/blenkernel/intern/volume.cc (+2, -0) (Diff)
/source/blender/depsgraph/intern/depsgraph_query_iter.cc (+24, -0) (Diff)
/source/blender/nodes/CMakeLists.txt (+7, -0) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc (+9, -0) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_object_info.cc (+11, -0) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_transform.cc (+50, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021