loadBufferView2 method
Implementation
Future<ByteBuffer?> loadBufferView2(int bufferViewIndex) async {
final bufferViewDef = json["bufferViews"][bufferViewIndex];
final buffer = await getDependency('buffer', bufferViewDef["buffer"]);
final byteLength = bufferViewDef["byteLength"] ?? 0;
final byteOffset = bufferViewDef["byteOffset"] ?? 0;
// use sublist(0) clone list, if not when load texture decode image will fail ? and with no error, return null image
ByteBuffer? otherBuffer;
if (buffer is TypedData) {
if(kIsWasm){
otherBuffer = buffer.buffer.asUint8List().sublist(byteOffset, byteOffset + byteLength).buffer;
}
else{
otherBuffer = Uint8List.view(buffer.buffer, byteOffset, byteLength).sublist(0).buffer;
}
}
else if(buffer != null && buffer is ByteBuffer){
if(kIsWasm){
otherBuffer = buffer.asUint8List().sublist(byteOffset, byteOffset + byteLength).buffer;
}
else{
otherBuffer = Uint8List.view(buffer, byteOffset, byteLength).sublist(0).buffer;
}
}
return otherBuffer;
}