bevy/examples
Tomasz Sterna 12deb0bd91
Initialize+Run systems when running the app (#444)
This is required, so Local<> resources get initialized before systems run.
2020-09-10 12:56:37 -07:00
..
2d Add repeating flag to Timer (#165) 2020-08-21 14:57:25 -07:00
3d Add support for binary glTF (.glb) (#271) 2020-08-25 16:55:08 -07:00
app Initialize+Run systems when running the app (#444) 2020-09-10 12:56:37 -07:00
asset render: add atlas padding support to work around MSAA artifacts, disable MSAA by default 2020-07-30 14:38:13 -07:00
audio add more example comments 2020-07-28 13:45:36 -07:00
diagnostics add more example comments 2020-07-28 13:45:36 -07:00
ecs Parallel queries (#292) 2020-09-08 12:18:32 -07:00
game Resize mode for Sprite component (#430) 2020-09-08 12:04:22 -07:00
input Basic mouse scroll-wheel event (#222) 2020-08-20 17:04:01 -07:00
scene Replace std synchronization primitives with parking_lot (#210) 2020-08-21 14:55:16 -07:00
shader enforce cargo fmt --check 2020-08-16 05:02:06 -07:00
ui Add repeating flag to Timer (#165) 2020-08-21 14:57:25 -07:00
window Fix unresolved import in window settings example (#311) 2020-08-23 23:55:06 -07:00
hello_world.rs cargo fmt 2020-07-26 21:10:18 +02:00
README.md Add parallel_query to the examples readme (#465) 2020-09-09 11:39:37 -07:00

Examples

These examples demonstrate the main features of Bevy and how to use them. To run an example, use the command cargo run --example <Example>, and add the option --features x11 or --features wayland to force the example to run on a specific window compositor, e.g.

cargo run --features wayland hello_world

Hello, World!

Example Main Description
hello_world hello_world.rs Runs a minimal example that outputs "hello world"

2D Rendering

Example Main Description
sprite 2d/sprite.rs Renders a sprite
sprite_sheet 2d/sprite_sheet.rs Renders an animated sprite
texture_atlas 2d/texture_atlas.rs Generates a texture atlas (sprite sheet) from individual sprites

3D Rendering

Example File Description
load_model 3d/load_model.rs Loads and renders a simple model
msaa 3d/msaa.rs Configures MSAA (Multi-Sample Anti-Aliasing) for smoother edges
parenting 3d/parenting.rs Demonstrates parent->child relationships and relative transformations
3d_scene 3d/3d_scene.rs Simple 3D scene with basic shapes and lighting
spawner 3d/spawner.rs Renders a large number of cubes with changing position and material
texture 3d/texture.rs Shows configuration of texture materials
z_sort_debug 3d/z_sort_debug.rs Visualizes camera Z-ordering

Application

Example File Description
empty app/empty.rs An empty application (does nothing)
empty_defaults app/empty_defaults.rs An empty application with default plugins
headless app/headless.rs An application that runs without default plugins
plugin app/plugin.rs Demonstrates the creation and registration of a custom plugin
thread_pool_resources app/thread_pool_resources.rs Creates and customizes the internal thread pool

Assets

Example File Description
asset_loading asset/asset_loading.rs Demonstrates various methods to load assets
hot_asset_reloading asset/hot_asset_reloading.rs Demonstrates automatic reloading of assets when modified on disk

Audio

Example File Description
audio audio/audio.rs Shows how to load and play an audio file

Diagnostics

Example File Description
custom_diagnostic diagnostics/custom_diagnostic.rs Shows how to create a custom diagnostic
print_diagnostics diagnostics/print_diagnostics.rs Add a plugin that prints diagnostics to the console

ECS (Entity Component System)

Example File Description
event ecs/event.rs Illustrates event creation, activation, and reception
ecs_guide ecs/ecs_guide.rs Full guide to Bevy's ECS
parallel_query ecs/parallel_query.rs Illustrates parallel queries with ParallelIterator
startup_system ecs/startup_system.rs Demonstrates a startup system (one that runs once when the app starts up)

Games

Example File Description
breakout game/breakout.rs An implementation of the classic game "Breakout"

Input

Example File Description
mouse_input input/mouse_input.rs Demonstrates handling a mouse button press/release
mouse_input_events input/mouse_input_events.rs Prints out all mouse events (buttons, movement, etc.)
keyboard_input input/keyboard_input.rs Demonstrates handling a key press/release
keyboard_input_events input/keyboard_input_events.rs Prints out all keyboard events

Scene

Example File Description
scene scene/scene.rs Demonstrates loading from and saving scenes to files
properties scene/properties.rs Demonstrates Properties (similar to reflections in other languages) in Bevy

Shaders

Example File Description
shader_custom_material shader/shader_custom_material.rs Illustrates creating a custom material and a shader that uses it
shader_defs shader/shader_defs.rs Demonstrates creating a custom material that uses "shaders defs" (a tool to selectively toggle parts of a shader)

UI (User Interface)

Example File Description
button ui/button.rs Illustrates creating and updating a button
text ui/text.rs Illustrates creating and updating text
font_atlas_debug ui/font_atlas_debug.rs Illustrates how FontAtlases are populated (used to optimize text rendering internally)
ui ui/ui.rs Illustrates various features of Bevy UI

Window

Example File Description
clear_color window/clear_color.rs Creates a solid color window
multiple_windows window/multiple_windows.rs Creates two windows and cameras viewing the same mesh
window_settings window/window_settings.rs Demonstrates customizing default window settings