gpuOf method

GpuMaterial? gpuOf(
  1. String path, {
  2. Map<String, Object?> overrides = const {},
})

path's GPU material, with what of its maps has arrived and overrides (an entity's values, by MaterialFile.animatableKeys) on top; null until the file is read, or when it is broken.

Implementation

GpuMaterial? gpuOf(String path, {Map<String, Object?> overrides = const {}}) {
  final made = _madeOf(path);
  if (made == null) return null;
  final shared = made.gpu ??= _make(made, made.file);
  if (overrides.isEmpty) return shared;
  final key = (path, _keyOf(overrides));
  final known = _overridden[key];
  if (known != null) return known;
  if (_overridden.length >= maxOverridden) _overridden.clear();
  return _overridden[key] = _make(made, made.file.withValues(overrides));
}