pandemonium_engine/modules/wfc
2023-01-15 19:42:08 +01:00
..
doc_classes Re-extracted class docs. 2023-01-14 13:38:58 +01:00
array_2d.h
array_3d.h
config.py Added COPYRIGHT.txt to the wfc module. 2022-12-31 22:00:32 +01:00
COPYRIGHT.txt Added COPYRIGHT.txt to the wfc module. 2022-12-31 22:00:32 +01:00
image_indexer.cpp
image_indexer.h Moved a few more core classes. 2022-08-17 17:43:49 +02:00
LICENSE Added COPYRIGHT.txt to the wfc module. 2022-12-31 22:00:32 +01:00
overlapping_wave_form_collapse.cpp Renamed Set to RBSet. 2023-01-15 19:42:08 +01:00
overlapping_wave_form_collapse.h
README.md
register_types.cpp Now modules make use of the new registration levels. 2023-01-15 17:04:00 +01:00
register_types.h Added include guards to all module register_types.h-s. 2023-01-15 13:27:08 +01:00
SCsub
tiling_wave_form_collapse.cpp
tiling_wave_form_collapse.h
wave_form_collapse.cpp
wave_form_collapse.h

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.