A 3D rendering engine for dart (based on three.js and three_dart) that allows users to view, edit and manipulate their 3D objects. The current builds uses angle for desktop and mobile, and WebGL2 for web applications.
This is a dart conversion of three.js and three_dart, originally created by @mrdoob and has a coverted dart fork by @wasabia.
MacOS
- Minimum os Deployment Target: 10.14
- Xcode 13 or newer
- Swift 5
- Metal supported
iOS
- Minimum os Deployment Target: 12.0
- Xcode 13 or newer
- Swift 5
- Metal supported
iOS-Simulator
- No longer supported due to IOSurface issue, please use override to flutter_angle: ^0.1.0 for testing on simulator.
Android
- compileSdkVersion: 34
- OpenGL supported
- Vulkan supported
Windows
- Intel supported.
- AMD supported.
- Direct3D 11 and OpenGL supported
Web
- WebGL2 supported
WASM
- Currently not supported due to WebGL2RenderingContext conversion issue.
Linux
- Unsupported
To get started add three_js to your pubspec.yaml file.
This project is a simple 3D rendering engine for flutter to view, edit, or manipulate 3D models.
Find the example for this API here, for more examples you can click here, and for a preview go here.
All
- MD2 annimations do not work
- Collada animations do not work
- Collada kinnametics does not work
- PMREM gives weird artifacts
- VideoTexture only works for web
MacOS
- Audio has a bug
iOS
- Protoplanets does not function correctly
Android
- Morphtargets dones not work
- Some RGBELoaders cause app to crash
Windows
Web
- Lens Flare not working correctly
- Postprocessing does not work
- Track pad has some bugs
ADD-ONS
- Omio a physics engine for three_js
- Cannon a physics engine for three_js
- Terrain a map generator for three_js
Contributions are welcome. In case of any problems look at existing issues, if you cannot find anything related to your problem then open an issue. Create an issue before opening a pull request for non trivial fixes. In case of trivial fixes open a pull request directly.