2025-08-25 15:09:07 +08:00
2025-07-16 18:15:04 +08:00
2025-07-17 10:54:00 +08:00
2025-06-25 11:06:55 +08:00
2025-07-24 11:40:35 +08:00
2025-06-25 15:47:20 +08:00
2025-07-03 17:17:44 +08:00
2024-06-24 08:28:42 +02:00
2024-06-19 15:47:00 +02:00
2025-07-14 10:13:38 +08:00

Thermion Logo

Quickstart (Flutter)DocumentationShowcasePlaygroundDiscord

Cross-platform 3D toolkit for Dart and Flutter.

pub github discord contributors

https://github.com/user-attachments/assets/b0c07b5a-6156-4e42-a09b-5f9bd85fbf32

Features

  • Supports iOS (arm64), MacOS (arm64/x64), Android (arm64), Windows (x64) (>= 10), Web/WASM
  • glTF, KTX, PNG & JPEG texture support
  • camera/entity manipulation with mouse (desktop) and gestures (mobile)
  • skinning + morph animations

Uses the Filament PBR engine (currently v1.56.4).

Quickstart (Flutter)

From the command line:

flutter channel master
flutter upgrade
flutter config --enable-native-assets  

In your Flutter app:

@override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Stack(children: [
        Positioned.fill(
            child: ViewerWidget(
          assetPath: "assets/cube.glb",
          skyboxPath: "assets/default_env_skybox.ktx",
          iblPath: "assets/default_env_ibl.ktx",
          transformToUnitCube: true,
          initialCameraPosition: Vector3(0, 0, 6),
          background: Colors.blue,
          manipulatorType: ManipulatorType.ORBIT,
          onViewerAvailable: (viewer) async {
            await Future.delayed(const Duration(seconds: 5));
            await viewer.removeSkybox();
          },
          initial: Container(
            color: Colors.red,
          ),
        ))]));
  }

the first time you build an app that consumes this package, the Dart native-assets build system will download static binaries from Cloudflare. This may take a few minutes (depending on which platform you are compiling for). These will be cached, so subsequent builds will be much faster.

Sponsors, Contributors & Acknowledgments

Thermion uses the Filament Physically Based Rendering engine under the hood.

Special thanks to odd-io for sponsoring work on supporting Windows, raycasting, testing and documentation.

Thank you to the following people:

  • @Hannnes1 for help migrating to native-assets
  • @jarrodcolburn for documentation contributions
  • @daverin for MacOS library contributions
  • @LukasPoque for CI/refactoring work
  • @alexmercerind for his work on integrating ANGLE textures on Flutter Windows
  • @BrutalCoding for documentation fixes
  • @chenriji for testing and bug fixes
Description
No description provided
Readme Apache-2.0 458 MiB
Languages
C++ 48.3%
C 45.1%
Dart 5.8%
Objective-C 0.2%
CMake 0.2%
Other 0.2%