Blender Git Loki
Git Commits -> Revision 912b380
Revision 912b380 by Jacques Lucke (attribute-accessor, geometry-nodes, geometry-nodes-active-modifier-drawing, geometry-nodes-attribute-nodes, geometry-nodes-deduplicate-float-math, geometry-nodes-distribute-points, geometry-nodes-mix-attributes, geometry-nodes-point-separate-node, temp-geometry-nodes-distribute-points-cleanup) 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. |
Commit Details:
Full Hash: 912b38001f685e30b64a7bb34bb0b56535cad9ed
Parent Commit: c4352f4
Lines Changed: +81, -74
5 Modified Paths:
/source/blender/blenkernel/BKE_modifier.h (+4, -3) (Diff)
/source/blender/blenkernel/intern/object.c (+15, -2) (Diff)
/source/blender/blenkernel/intern/pointcloud.cc (+24, -40) (Diff)
/source/blender/makesdna/DNA_object_types.h (+8, -0) (Diff)
/source/blender/modifiers/intern/MOD_nodes.cc (+30, -29) (Diff)
/source/blender/blenkernel/intern/object.c (+15, -2) (Diff)
/source/blender/blenkernel/intern/pointcloud.cc (+24, -40) (Diff)
/source/blender/makesdna/DNA_object_types.h (+8, -0) (Diff)
/source/blender/modifiers/intern/MOD_nodes.cc (+30, -29) (Diff)