Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CONTROLS

  • f fullscreen/windowed mode
  • p pause/unpause
  • . step 1 update
  • l load saved state
  • s save current state

Makes use of:

  • glfw for window context
  • OpenGL for rendering

PROBLEMS

  • This one somehow fixed itself
  • If a particle has negative gravity (eg. smoke rising) a double buffered grid is needed
    • Otherwise as the rows get evaluated bottom to top, the particles would teleport to the top in only one update
  • Additional grids could be needed used for things like particle velocities, that are independent from the particle type
  • At that point a particle type ID might be better than the full-color value, although for now the color is fine
  • Multiple particle type IDs could be powers of 2, so that they can be used as a bitmask for elegant interactions

IDEAS

  • Change particle model to type_id rather than color

  • Give particles additional properties such as

    • flammability
    • mass (displacement, gravity direction)
    • Stasis (true / false)
    • Emissivity
  • Add non-simulated particles for effect like splashes

  • Add gravity and momentum into simulation

  • Write instructions into stdout

  • Keeping record of past frames

    • Export video
    • Step backwards
  • Export frames as images

  • Import images as frame

  • Save and load state of grid

  • Add mouse based particle brush

  • Add particle brush type and size input

Inspiration

Cellular Automata Particle simulation inspired by

More

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages