Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Examples

RDPE includes many examples demonstrating different features. Each example contains detailed comments explaining the concepts it demonstrates.

Running Examples

cargo run --example <name>

# With egui feature (for interactive examples)
cargo run --example <name> --features egui

Core Examples

These showcase fundamental RDPE capabilities:

ExampleDescription
boidsClassic flocking algorithm (Separate + Cohere + Align)
aquariumFish and sharks with Chase/Evade behaviors
predator_preyChase and evade behaviors between particle types
infectionSIR epidemic model with type conversion
connectionsDrawing lines between nearby particles
inboxParticle-to-particle communication system
slime_moldPhysarum-inspired emergent patterns (requires --features egui)
slime_mold_fieldSlime mold using 3D spatial fields (requires --features egui)
multi_fieldMultiple competing pheromone fields

Effect Examples

ExampleDescription
explosionBurst emitter with particle effects
fountainCone emitter shooting upward
rainBox emitter simulating rainfall
shockwaveExpanding shockwave and pulse effects
trailsParticle motion trails
firefliesSynchronized blinking behavior
falling_leavesOrganic falling motion

Physics & Motion

ExampleDescription
swirlVortex-like circular motion
noisyNoise-based movement
wave_fieldWave-like oscillating motion
attractorPoint attraction
orbiting_attractorOrbiting gravity source
gravity_visualizerGravity field visualization
density_fluidsSPH-style fluid simulation
particle_lifeParticle Life cellular automaton

Visual Examples

ExampleDescription
shapesAll available particle shapes (Circle, Star, Hexagon, etc.)
custom_shaderCustom fragment shader for particle appearance
post_processScreen-space post-processing effects
texture_exampleCustom texture sampling in shaders
palettesBuilt-in color palettes and mappings
glowGlowing particle effects
sphere_shellSpherical particle distribution

Interactive Examples

These require --features egui:

ExampleDescription
egui_controlsBasic egui integration
egui_interactiveFull interactive parameter control
slime_moldPhysarum simulation with controls

Other Examples

ExampleDescription
getting_startedMinimal example to get started
input_demoKeyboard and mouse input handling
lifecycle_demoParticle aging, death, and respawning
spatial_grid_demoSpatial hashing visualization
agent_demoParticles as autonomous agents
signal_swarmSwarm signaling behavior
neural_networkNeural network-style visualization
chemistryChemical reaction simulation
cellsCell-like behavior
rocketRocket with exhaust particles
volume_render3D volume rendering

Learning Path

1. Start with Basics

  • getting_started - Minimal setup
  • boids - Core particle simulation

2. Explore Interactions

  • predator_prey - Typed particles
  • infection - Type conversion
  • aquarium - Chase and evade

3. Add Effects

  • explosion - Emitters
  • trails - Motion trails
  • connections - Visual connections

4. Customize Visuals

  • custom_shader - Fragment shaders
  • post_process - Screen effects
  • palettes - Color schemes

5. Add Interactivity

  • egui_controls - Basic UI
  • slime_mold - Full interactive example

Running Examples

# Core
cargo run --example boids
cargo run --example aquarium
cargo run --example predator_prey
cargo run --example infection

# Effects
cargo run --example explosion
cargo run --example fountain
cargo run --example shockwave
cargo run --example trails

# Visual
cargo run --example shapes
cargo run --example custom_shader
cargo run --example post_process
cargo run --example palettes

# Interactive (requires egui feature)
cargo run --example slime_mold --features egui
cargo run --example egui_interactive --features egui

Each example file contains //! doc comments explaining what it demonstrates and suggestions for experimentation.