Skip to content
/ wfc Public

Blazingly fast implementation of the Wave Function Collapse algorithm

License

Notifications You must be signed in to change notification settings

Elwqnn/wfc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wave Function Collapse (WFC)

Wave Function Collapse overlapping model implementation in Rust. Generates novel images by extracting NxN patterns from samples and synthesizing outputs that follow the same adjacency constraints.

Image Image

Algorithm

The overlapping model extracts all NxN pattern tiles from a sample image and records which patterns can appear adjacent to each other. Starting from a completely undetermined output, it iteratively:

  1. Finds the cell with lowest entropy (fewest possible patterns)
  2. Collapses it to a random valid pattern
  3. Propagates constraints to neighboring cells
  4. Repeats until complete or a contradiction occurs

GUI

cargo run --release --bin wfc-egui

WFC GUI Screenshot

Results

Image Image

Edge Constraints

Let's see how edge constraints affect the output.

Sample:

Image

Without constraints Vertical constraints Vertical + Sides constraints
Image Image Image

License

MIT

About

Blazingly fast implementation of the Wave Function Collapse algorithm

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages