Flutter GL

Flutter GL 可以用 Dart 调用 OpenGL ES API

支持 iOS、Android、Web

OpenGL ES API

现在 API 类似于 WebGL

如何使用

现在这仅支持绘制到 FBO。然后将 FBO 纹理共享到原生端。

导入

import 'package:flutter_gl/flutter_gl.dart';

用法

int width = 200;
int height = 200;
num dpr = 1.0;

flutterGlPlugin = FlutterGlPlugin(width, height, dpr: dpr);

Map<String, dynamic> _options = {
    "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);

运行示例

克隆或下载此 repo

cd flutter_gl/flutter_gl/example

flutter run

截图

screen0

screen1

GitHub

https://github.com/wasabia/flutter_gl