createResource method
Implementation
@override
ByteBuffer createResource() {
final data = <double>[];
for (final element in _storage) {
var previousIndex = -1;
for (final entry in element.entries) {
if (previousIndex + 1 != entry.key) {
final field = slot.fields.indexed.firstWhere(
(e) => e.$1 == previousIndex + 1,
);
throw StateError(
'Uniform ${slot.name}.${field.$2} was not set',
);
}
previousIndex = entry.key;
data.addAll(entry.value.data);
}
}
return Float32List.fromList(data).buffer;
}