resolveMaterialBinding method

Future<List<Material>> resolveMaterialBinding(
  1. dynamic keys,
  2. dynamic instanceMaterials
)

Implementation

Future<List<Material>> resolveMaterialBinding( keys, instanceMaterials ) async{
  final fallbackMaterial = MeshBasicMaterial.fromMap( {
    'name': '__DEFAULT',
    'color': 0xff00ff
  });

  final List<Material> materials = [];

  for (int i = 0, l = keys.length; i < l; i ++ ) {
    final id = instanceMaterials[ keys[ i ] ];

    if ( id == null ) {
      console.warning( 'ColladaLoader: Material with key ${keys[ i ]} not found. Apply fallback material.');
      materials.add( fallbackMaterial );
    }
    else {
      materials.add( await getMaterial( id ) );
    }
  }

  return materials;
}