loadSkybox method

  1. @override
Future loadSkybox(
  1. String skyboxPath
)
override

Implementation

@override
Future loadSkybox(String skyboxPath) async {
  await removeSkybox();

  var data = await FilamentApp.instance!.loadResource(skyboxPath);

  final completer = Completer();

  _skyboxTextureUploadComplete =
      withVoidCallback((requestId, onTextureUploadComplete) async {
    var bundle = await FFIKtx1Bundle.create(data);

    _skyboxTexture = await bundle.createTexture(
        onTextureUploadComplete: onTextureUploadComplete,
        textureUploadCompleteRequestId: requestId) as FFITexture;

    _skybox = await FilamentApp.instance!.buildSkybox(texture: _skyboxTexture)
        as FFISkybox;

    await scene.setSkybox(_skybox!);

    completer.complete();
  }).then((_) async {
    _skyboxTextureUploadComplete = null;
  });
  await completer.future;
}