How panxinmiao/myth works
Myth is a cross-platform Rust 3D rendering engine. An application enters through the App/Engine runtime, loads or creates assets and a scene, then prepares frames for the renderer; the render graph schedules graphics and post-processing work for GPU output. The repository also provides animation, Python bindings, and an optional egui integration. The README documents the broader rendering capabilities; the sampled source confirms engine initialization, frame composition, asset loading, and selected Python operations, but not every internal pass connection.
Main entry points: engine.rs Engine coordinator · renderer.rs Renderer · app.rs App lifecycle · scene.rs Scene and camera
Components 19
Engine runtime
- App lifecycle
crates/myth_app/src/app.rs - Engine coordinator
crates/myth_app/src/engine.rs - Window and input
crates/myth_app/src/platform.rs
Scene and assets
- Scene and camera
crates/myth_scene/src/scene.rs - Animation system
crates/myth_animation/src/system.rs - Asset loading
crates/myth_assets/src/server.rs - Format loaders
crates/myth_assets/src/loaders/mod.rs - Asset storage
crates/myth_assets/src/storage.rs - Render resources
crates/myth_resources/src/lib.rs
Rendering
- Renderer
crates/myth_render/src/renderer.rs - Render graph
crates/myth_render/src/graph/core/graph.rs - Graphics and effects
crates/myth_render/src/graph/passes/mod.rs - Pipeline cache
crates/myth_render/src/pipeline/cache.rs - GPU context
crates/myth_render/src/core/context.rs
Integrations
- Python bindings
bindings/python/src/lib.rs - Python engine proxy
bindings/python/src/engine_proxy.rs - egui integration
crates/myth_egui/src/lib.rs
Other components
- Application developer
- Window or target
Connections 18
- Application developer → App lifecycle: starts app
- App lifecycle → Engine coordinator: drives lifecycle
- App lifecycle → Window and input: uses window
- Engine coordinator → Renderer: initializes renderer
- Engine coordinator → Scene and camera: composes frame
- Engine coordinator → Asset loading: provides assets
- Asset loading → Format loaders: loads formats
- Asset loading → Asset storage: stores assets
- Scene and camera → Render resources: references resources
- Scene and camera → Animation system: supports animation
- Renderer → Render graph: builds frame graph
- Render graph → Graphics and effects: schedules passes
- Render graph → Pipeline cache: requests pipelines
- Renderer → GPU context: uses GPU context
- Renderer → Window or target: renders output
- Python bindings → Python engine proxy: exposes API
- Python engine proxy → Engine coordinator: controls engine
- egui integration → Renderer: integrates UI