fledge_render 0.1.2 copy "fledge_render: ^0.1.2" to clipboard
fledge_render: ^0.1.2 copied to clipboard

Core render infrastructure for Fledge - render graph, two-world architecture, and render scheduling.

fledge_render #

Core render infrastructure for Fledge - render graph, two-world architecture, and render scheduling.

pub package

Features #

  • Two-World Architecture: Separate game logic from rendering
  • Render World: GPU-optimized data structures rebuilt each frame
  • Extractors: Transform game data to render data
  • Render Graph: Modular render pipeline definition

Installation #

dependencies:
  fledge_render: ^0.1.0

Usage #

Two-World Architecture #

Fledge separates game logic (Main World) from rendering (Render World):

// Main World: Game entities with components
world.spawn()
  ..insert(Position(100, 200))
  ..insert(Sprite(texture: heroTexture));

// Extractors copy data to Render World each frame
class SpriteExtractor extends Extractor {
  @override
  void extract(World mainWorld, RenderWorld renderWorld) {
    for (final (_, sprite, transform) in
        mainWorld.query2<Sprite, GlobalTransform2D>().iter()) {
      renderWorld.spawn().insert(ExtractedSprite(
        texture: sprite.texture,
        transform: transform.matrix,
      ));
    }
  }
}

Registering Extractors #

final extractors = app.world.getResource<Extractors>()!;
extractors.register(SpriteExtractor());
extractors.register(TilemapExtractor());

Documentation #

See the Two-World Architecture Guide for detailed documentation.

License #

Apache 2.0 - See LICENSE for details.

0
likes
0
points
611
downloads

Publisher

verified publisherfledge-framework.dev

Weekly Downloads

Core render infrastructure for Fledge - render graph, two-world architecture, and render scheduling.

Homepage
Repository (GitHub)
View/report issues

Topics

#ecs #game-engine #rendering #game-development

License

unknown (license)

Dependencies

fledge_ecs, meta

More

Packages that depend on fledge_render