bevy/examples
Jake Kerr db1bf6478c
Allow calling winit with the 'run_return' variant of the run function (#243)
This adds a new WinitConfig resource that can be used to configure the behavior of winit.
When `return_from_run` is set to `true`, `App::run()` will return on `target_os` configurations that
support it.

Closes bevyengine/bevy#167.
2020-08-20 22:37:19 -07:00
..
2d ecs: only borrow/iterate archetypes currently used by a given query 2020-07-28 16:37:37 -07:00
3d enforce clippy for all target and features 2020-08-16 07:20:06 -07:00
app Allow calling winit with the 'run_return' variant of the run function (#243) 2020-08-20 22:37:19 -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 add more example comments 2020-07-28 13:45:36 -07:00
game enforce clippy for all target and features 2020-08-16 07:20:06 -07:00
input Basic mouse scroll-wheel event (#222) 2020-08-20 17:04:01 -07:00
scene Add info message in UI for scene example 2020-08-14 12:56:39 +02:00
shader enforce cargo fmt --check 2020-08-16 05:02:06 -07:00
ui enforce clippy for all target and features 2020-08-16 07:20:06 -07:00
window Add resizable and windowmode options to window creation 2020-08-13 10:47:40 +02:00
hello_world.rs cargo fmt 2020-07-26 21:10:18 +02:00
README.md README.md link points to the correct example (#225) 2020-08-20 17:29:10 -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>.

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
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