pandemonium_engine/modules/wfc
2022-04-23 21:30:51 +02:00
..
doc_classes Added a new ImageIndexer helper class. 2022-04-22 22:54:42 +02:00
array_2d.h Use int-s instead of uint32_t-s in the wfc module for better compatibility with scripting. 2022-04-22 19:07:29 +02:00
array_3d.h Use int-s instead of uint32_t-s in the wfc module for better compatibility with scripting. 2022-04-22 19:07:29 +02:00
config.py Added a new ImageIndexer helper class. 2022-04-22 22:54:42 +02:00
image_indexer.cpp Added a new ImageIndexer helper class. 2022-04-22 22:54:42 +02:00
image_indexer.h Added a new ImageIndexer helper class. 2022-04-22 22:54:42 +02:00
LICENSE Proper structural setup for the new module. 2022-04-20 02:50:16 +02:00
overlapping_wave_form_collapse.cpp Found an unneeded static cast. 2022-04-23 21:30:51 +02:00
overlapping_wave_form_collapse.h Lots of small fixes and improvements to the wfc module. It still has issues though. 2022-04-23 15:23:00 +02:00
README.md Added a new wfc (wave function collapse) module. I added https://github.com/math-fehr/fast-wfc 's code as a base for it. It's not in the build yet. 2022-04-20 02:39:35 +02:00
register_types.cpp Added a new ImageIndexer helper class. 2022-04-22 22:54:42 +02:00
register_types.h Proper structural setup for the new module. 2022-04-20 02:50:16 +02:00
SCsub Added a new ImageIndexer helper class. 2022-04-22 22:54:42 +02:00
tiling_wave_form_collapse.cpp Lots of small fixes and improvements to the wfc module. It still has issues though. 2022-04-23 15:23:00 +02:00
tiling_wave_form_collapse.h Lots of work on the bindings for the wfc module. Also smaller improvements. 2022-04-23 00:48:19 +02:00
wave_form_collapse.cpp Found more smaller things. 2022-04-23 16:03:37 +02:00
wave_form_collapse.h Lots of small fixes and improvements to the wfc module. It still has issues though. 2022-04-23 15:23:00 +02:00

fast-wfc

https://github.com/math-fehr/fast-wfc

An implementation of Wave Function Collapse with a focus on performance. It was called fast-wfc because at the time it introduced optimizations improving the execution time by an order of magnitude.

Rust bindings

Requirements

You need a C++-17 compatible compiler, and CMake installed.

Install the library

git clone https://github.com/math-fehr/fast-wfc && cd fast-wfc/
cmake .
make install

will install the library fastwfc and fastwfc_static using CMake:

Run the examples

cd example/
cmake .
make
./wfc_demo

will execute WFC on the examples defined in example/samples.xml, and will put the results in example/results.

Third-parties library

The files in example/src/include/external/ come from:

Image samples

The image samples come from https://github.com/mxgmn/WaveFunctionCollapse

Licence

Copyright (c) 2018-2019 Mathieu Fehr and Nathanaël Courant.

MIT License, see LICENSE for further details.