API OpenGL Call OpenGL par Dart via Dart: FFI. Fournit OpenGL avec un widget de texture sur Flutter.
Prise en charge iOS, Android, Web, macOS, Windows
Todo à linux
Utilisé par trois_dart
L'API est similaire à WebGl
Seule le support de tirage vers FBO. Partagez ensuite la texture FBO à côté natif.
import 'package:flutter_gl/flutter_gl.dart';
int width = 200;
int height = 200;
num dpr = 1.0;
flutterGlPlugin = FlutterGlPlugin();
Map<String, dynamic> _options = {
"width": width,
"height": height,
"dpr": dpr,
"antialias": true,
"alpha": false
};
await flutterGlPlugin.initialize(options: _options);
// on web this need called after web canvas dom was added to document
await flutterGlPlugin.prepareContext();
// you can get gl by
gl = flutterGlPlugin.gl;
// then you can call OpenGL ES API by gl like
gl.clearColor(0.0, 0.0, 0.0, 1.0);
gl.clear(gl.COLOR_BUFFER_BIT);
// use this method to notify Flutter update Texture Widget
// sourceTextue is a texture which bind to FBO framebuffer
flutterGlPlugin.updateTexture(sourceTexture);
Dart List Convert en pointeur FFI Besoin de copie de Memeory.
Cloner ou télécharger ce repo
cd flutter_gl/flutter_gl/example
flutter run
Lorsque le plugin init le plugin, enregistrez le contexte OpenGL avec troisegl,
ThreeEgl.setContext("shareContext", shareEglEnv.eglContext);
Ainsi, vous pouvez l'obtenir à utiliser Threeegl Lib, puis créez-vous un contexte OpenGL Partage avec "ShareContext"
shareContext = ThreeEgl.getContext("shareContext");
Pour iOS, la clé est 3 ...
eAGLShareContext = ThreeEgl.getContext(key: 3);
pas besoin ? juste webgl
ne pas supporter obtenir le contexte de partage maintenant
Vérifiez l'exemple Copiez l'exemple / Android / App / Libs / AARS / Threegl.aar sur votre application Android Project même chemin
Changer Minsdkversion 24


Déposez tous les problèmes, bogues ou demandes de fonctionnalités.
Tirez la demande s'il vous plaît!