From b9354531b2f5bed0517bdb6d8fa6a6daa68f8cf7 Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Tue, 17 Jun 2025 11:26:27 +0800 Subject: [PATCH] add cubemap methods to BackgroundImage --- .../src/implementation/background_image.dart | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/thermion_dart/lib/src/filament/src/implementation/background_image.dart b/thermion_dart/lib/src/filament/src/implementation/background_image.dart index 01c01da6..2f3e84fb 100644 --- a/thermion_dart/lib/src/filament/src/implementation/background_image.dart +++ b/thermion_dart/lib/src/filament/src/implementation/background_image.dart @@ -72,6 +72,16 @@ class BackgroundImage extends ThermionAsset { await mi.setParameterInt("showImage", 0); } + /// + /// + /// + Future setCubemapFace(int index) async { + if (index < 0 || index > 5) { + throw Exception("Incorrect cubemap face index"); + } + await mi.setParameterInt("cubeMapFace", index); + } + /// /// /// @@ -79,15 +89,15 @@ class BackgroundImage extends ThermionAsset { final texture = await bundle.createTexture(); if (bundle.isCubemap()) { - sampler ??= - await FilamentApp.instance!.createTextureSampler() as FFITextureSampler; + sampler ??= await FilamentApp.instance!.createTextureSampler() + as FFITextureSampler; this.texture = texture; await mi.setParameterTexture( "cubeMap", texture as FFITexture, sampler as FFITextureSampler); await setBackgroundColor(1, 1, 1, 0); await mi.setParameterInt("showImage", 1); await mi.setParameterInt("isCubeMap", 1); - + await setCubemapFace(0); width = await texture.getWidth(); height = await texture.getHeight(); } else {