flutter_gl
1.0.0
Cross-Platformは、DARTからDART:FFIによるOpenGL APIを呼び出します。 FlutterのテクスチャウィジェットをOpenGLに提供します。
iOS、Android、Web、MacOS、Windowsをサポートします
Linux Todo
Three_Dartが使用します
APIはWebGLに似ています
FBOへの抽選のみをサポートします。次に、FBOテクスチャをネイティブ側に共有します。
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リストにFFIポインターに変換する必要があります。
このレポンをクローンまたはダウンロードしてください
cd flutter_gl/flutter_gl/example
flutter run
プラグインを開始するときは、threeeglでopenglコンテキストを共有します。
ThreeEgl.setContext("shareContext", shareEglEnv.eglContext);
したがって、Threeegl Libを使用してから、「ShareContext」でOpenGLコンテキスト共有を作成できます。
shareContext = ThreeEgl.getContext("shareContext");
iOSの場合、キーは3です...
eAGLShareContext = ThreeEgl.getContext(key: 3);
必要なし ?ただwebgl
サポートされていない今、共有のコンテキストを取得します
例を確認するプロジェクトを確認してください/android/app/libs/aars/threeegl.aarをアプリAndroidプロジェクトにコピーしてください同じパス
minsdkversion 24を変更します


問題、バグ、または機能リクエストを提出します。
リクエストをプルしてください!