flutter3d_level_scene library

A level document turned into a scene: brushes into meshes, the level's materials into engine materials, its lights, probes, decals, mirrors and camera screens into nodes.

Plain Dart, between the level and the renderer. The application's LevelLoader hands LevelScene.build the textures it decoded and wraps the answer in a LoadedLevel; the editor's light optimizer and its agent server hand it nothing and draw the level flat on the software renderer. Neither has to depend on the other to do it.

Classes

LevelBatch
One draw of a level's brushes: the node in the scene, the mesh it draws (uploaded by LevelScene, so released by whoever keeps the level), the box around it, and the brush it is when the level was built LevelBatching.perBrush.
LevelBatching
How a level's brushes are grouped into draws.
LevelScene
Builds the scene a level document describes.
LevelSceneParts
What LevelScene.build made: the scene, and the parts of it a caller keeps to rebuild, cull or release.

Functions

meshDataOf(BrushSurface surface) → MeshData
Interleaves the level package's plain arrays into the engine's layout.