Skip to content

NabilNYMansour/Slime-Simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slime Simulation

slime_sim

The project

This is an implementation of slime mold cellular automata.

Inspired by Sebastian Lague's and Leterax's implementations.

The code is written in Python where the ModernGL library is utilized for the GPU integration, ModernGL window is utilized for the window management, and pyimgui is used for GUI management.

The simulation is implemented in various shaders where the main logic of the slimes is written in /programs/compute.glsl.

Running the App

To run the application, make sure you have the aforementioned libraries installed, then:

  1. Clone or download this repository.
  2. Run python3 main.py

Note that the GUI does not handle resolution changes. In case you want that, simply edit main.py at line 10 and 11.

Pictures

The following are some images of the various types of slimes that can be made with this application:

electro_slime cell_slime planet_slime chaos_slime

Aim

The purpose of this project is to learn how to utilize compute shaders in an effective manner, and be able to use them in a rendering pipeline.

Thank you for your time :)

About

An implementation of slime simulation using ModernGL.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published