MaterialGroup.of constructor

MaterialGroup.of(
  1. Node root
)

Every PreprocessedMaterial reachable from root's subtree.

Implementation

factory MaterialGroup.of(Node root) {
  final materials = <PreprocessedMaterial>{};
  for (final node in root.meshNodes) {
    final mesh = node.mesh;
    if (mesh == null) continue;
    for (final primitive in mesh.primitives) {
      final material = primitive.material;
      if (material is PreprocessedMaterial) materials.add(material);
    }
  }
  return MaterialGroup(materials);
}