flutter3d_app 0.7.0 copy "flutter3d_app: ^0.7.0" to clipboard
flutter3d_app: ^0.7.0 copied to clipboard

What any Flutter application on flutter3d is assembled from: which backend to open and the runtime fallback, the surface a frame reaches Flutter through, widgets drawn in the scene, a level loaded int [...]

flutter3d_app #

What any Flutter application on flutter3d is assembled from, as one import.

import 'package:flutter3d_app/flutter3d_app.dart';

final device = await openDevice(width: 1280, height: 720);

What is in it #

openDevice / presentFrame Which backend a build draws through, and the runtime fallback to the software rasteriser when Impeller will not start.
SceneSurface The widget that hands a frame to Flutter. Its settings are a function called per frame, not an object, so anything derived from where the camera ended up is derived after it got there.
WidgetSurface A live Flutter widget drawn onto a quad in the scene.
LevelLoader A level document turned into mesh nodes, lights, probes and a collision world. Problems come back as LoadedLevel.issues rather than exceptions: a missing wall texture leaves the surface flat and says so.
Storage / BinaryStorage A document kept where each platform keeps such things, behind one interface.

Universal, and that is the rule for what goes in #

The modeller, the level editor, the lessons and every game use this package. Nothing in it knows what a run, a binding or a monster is: that is flutter3d_game, which stands on this package. A name only a game would want does not belong here, however convenient one barrel would be.

What is deliberately not behind it: flutter3d, flutter3d_sim, flutter3d_game and a genre package. Import them by name, so the choice is visible in the pubspec. See Assembling an application for the full pattern, worked through with apps/flutter3d_demo_dungeon as the example.


Part of flutter3d, an independent implementation of a 3D engine for Flutter — not a fork or a binding of another engine, and not affiliated with the Flutter team. Three switchable rendering backends: Impeller via Flutter GPU, WebGL2, and a software rasteriser. glTF, OBJ and .f3d loading, six lighting models, shadows, bloom, skinning, animation, BVH culling and picking; a deterministic fixed-step game layer with collision, navigation, positional audio, and gamepad and touch input. Three example games — shooter, platformer, racing — each built on its genre package: flutter3d_game_shooter, flutter3d_game_platformer, flutter3d_game_racing. A new game starts from the editor's scaffold, which writes one from a template: https://flutter3d.pleion.dev/first-project/. Documentation: https://flutter3d.pleion.dev.

0
likes
0
points
470
downloads

Publisher

verified publisherpleion.dev

Weekly Downloads

What any Flutter application on flutter3d is assembled from: which backend to open and the runtime fallback, the surface a frame reaches Flutter through, widgets drawn in the scene, a level loaded into a scene, and storage.

Homepage
Repository (GitHub)
View/report issues

Topics

#game-engine #rendering #application

License

unknown (license)

Dependencies

clock, flutter, flutter3d, flutter3d_cpu, flutter3d_hardware, flutter3d_impeller, flutter3d_sim, flutter3d_webgl, flutter3d_webgpu, vector_math, web

More

Packages that depend on flutter3d_app