setSplatData method
Uploads raw processed splat data.
Implementation
@override
Future<void> setSplatData(Uint8List data) async {
if (data.length % GsConst.bytesPerSplat != 0) {
throw ArgumentError.value(
data.length,
'data.length',
'Must be a multiple of ${GsConst.bytesPerSplat}',
);
}
_splatBuffer = data;
_visibleCount = -1; // draw all until the first sort for this data lands
_resolveDataDirty = true; // resolved SH colors must be recomputed
_lastResolvedDirection = null;
_source.uploadSplats(data);
_sortDataGeneration++;
_depthSorter.setSplatData(data, _source.splatCount);
_source.uploadOrder(_sequentialOrder(_source.splatCount));
if (_camera != null) {
_requestSort(force: true);
await _depthSorter.firstSortComplete;
}
}