render method

  1. @override
Future render()
override

Implementation

@override
Future render() async {
  final swapChains =
      await (FilamentApp.instance as FFIFilamentApp).getSwapChains();
  if (swapChains.isEmpty) {
    throw Exception("No swapchain available");
  }
  for (final swapChain in swapChains) {
    await withBoolCallback(
      (cb) => Renderer_beginFrameRenderThread(
        app.renderer,
        swapChain.getNativeHandle(),
        0.toBigInt,
        cb,
      ),
    );

    await withVoidCallback(
      (requestId, cb) =>
          Renderer_renderRenderThread(app.renderer, view.view, requestId, cb),
    );
    await withVoidCallback(
      (requestId, cb) =>
          Renderer_endFrameRenderThread(app.renderer, requestId, cb),
    );
    await FilamentApp.instance!.flush();
  }
}