Expand description
WaterDropEngine - A modular game engine.
§Overview
WaterDropEngine is a modular game engine built on top of Bevy’s ECS. It provides a collection of plugins and tools. The engine is composed of several modules, organized from low-level to high-level:
- High-Level:
wde_terrain: A plugin for generating and rendering procedural terrain.wde_terrain_editor: A plugin for editing terrain in-game.wde_terrain_grid: A plugin for managing terrain grids and LOD.
- Render:
wde_pbr: A plugin for physically based rendering (PBR) materials and lighting.wde_camera: A plugin for managing cameras and viewports.wde_camera_controller: A plugin for controlling cameras with various input methods.wde_gltf: A plugin for loading and rendering glTF 3D models.wde_gizmos: A plugin for rendering debug gizmos and visualizations.
- Core:
wde_renderer: A plugin for rendering 3D graphics using thewgpugraphics API.wde_scene: A plugin for managing scenes, entities, and components.wde_editor: A plugin for creating in-game editors and tools.
- Wrappers:
wde_wgpu: A wrapper around thewgpugraphics API for rendering. It is superseeded bywde_renderer.wde_physics: A wrapper around therapierphysics engine for 3D physics simulation.wde_logger: A wrapper around thetracinglibrary for logging and diagnostics.wde_egui: A wrapper around theeguilibrary for creating user interfaces. It is superseeded bywde_editor.
§Getting Started
To get started with WaterDropEngine, add the wde crate to your Cargo.toml:
[dependencies]
wde = "0.1"Then, in your main Rust file, you can use the default plugins to set up a basic application:
app.add_plugins(WdeDefaultPlugins);To modify and configure individual plugins, use:
app.add_plugins(WdeDefaultPlugins.set(LogPlugin {
level: LogLevel::DEBUG,
..Default::default()
}));§Features
WaterDropEngine is designed to be modular and extensible. You can enable or disable features! using Cargo features. For example, to enable the pbr feature for physically based rendering, add the following to your Cargo.toml:
[dependencies]
wde = { version = "0.1", features = ["pbr"] }Structs§
- WdeDefault
Plugins - Default plugins for WaterDropEngine.