Page MenuHome

Geometry Nodes: Decouple Delete Geometry node from Mask modifier.
ClosedPublic

Authored by Jacques Lucke (JacquesLucke) on Nov 23 2021, 3:13 PM.

Details

Summary

This dependency was a bit ugly and was also creating warnings when using unity builds. Also the functions from the mask modifier did a few things that we don't need in the Delete Geometry node:

  • The mask modifier functions use CustomData_copy_data which should not be necessary in the Delete Geometry node, because attributes are propagated separately.
  • The mask modifier check for -2 since rB20ef77137434efa1854cb1d6de70aa476b2674f9 which is not necessary in the node.

Diff Detail

Repository
rB Blender
Branch
delete-geometry-remove-modifier-dependency (branched from master)
Build Status
Buildable 18917
Build 18917: arc lint + arc unit

Event Timeline

Jacques Lucke (JacquesLucke) requested review of this revision.Nov 23 2021, 3:13 PM
Jacques Lucke (JacquesLucke) created this revision.
  • Merge branch 'master' into delete-geometry-remove-modifier-dependency
  • fix

A nice improvement here, not relying on the CustomData_copy_data is great.

I'll accept this with the same "TODOs" as before I suppose. I was thinking, we could template IndexMask add an int32_t version. That might be nice! IndexMask could be the name for the 64 bit version, IndexMask32 or something could be the name of this specialization.

This revision is now accepted and ready to land.Nov 24 2021, 2:57 AM

Yeah maybe. Not entirely sure about that yet. Might be nice to stay with one kind of index mask to avoid the situation that we have to convert between both in a bunch of places.
I think in this node a Span<int> makes just as much sense, because it's really meant to be a mapping instead of just a mask.