Blender Git Loki

Git Commits -> Revision 4601e3a

Revision 4601e3a by Jacques Lucke (master)
February 9, 2021, 10:24 (GMT)
Geometry Nodes: refactor internal attribute access architecture

Goals:
* Clarify the distinction between builtin and other attributes at the code level.
* Reduce number of places that need to be modified to add more builtin attributes.
* Reduce number of virtual methods that need to be implemented by e.g. `MeshComponent`.

To achieve these goals, this patch implements the concept of "attribute providers".
An attribute provider knows how to give access to attributes on a geometry component.
Each geometry component can have multiple attribute providers, whereby each provider
manages an different set of attributes.

The separation of builtin and other attributes is now done at the attribute provider level.
There are two types of attribute providers. One for builtin attributes and one for all others.

This refactor also helps with T84297.

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

Commit Details:

Full Hash: 4601e3a5916c7746ad29d20add91651929c6f621
Parent Commit: 494913f
Lines Changed: +944, -533

3 Modified Paths:

/source/blender/blenkernel/BKE_geometry_set.hh (+23, -43) (Diff)
/source/blender/blenkernel/intern/attribute_access.cc (+910, -490) (Diff)
/source/blender/blenkernel/intern/geometry_set.cc (+11, -0) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021