dorkhub

TextureSynthesis

Texture synthesis from examples

mxgmn
C#99054 forksupdated 4 years ago
git clone https://github.com/mxgmn/TextureSynthesis.gitmxgmn/TextureSynthesis

The algorithms are:

  1. Full neighbourhood search algorithm of Scott Draves and Alexei Efros + Thomas Leung and Li-Yi Wei + Marc Levoy is probably the simplest texture synthesis algorithm imaginable.
  2. K-coherent neighbourhood search of Michael Ashikhmin and Xin Tong + Jingdan Zhangz + Ligang Liu + Xi Wangz + Baining Guo + Heung-Yeung Shum takes computational burden from the synthesis to the analysis part and therefore is better suited for synthesizing large textures.
  3. Resynthesis algorithm of P. F. Harrison is scale-invariant, fast, supports constraints and practically never produces completely unsatisfactory results.

Note that my implementations are not completely true to the original papers.

Watch a video demonstration of P. F. Harrison's algorithm on YouTube: https://www.youtube.com/watch?v=8sUMBMpZNzk.

How to build

This is a console application that depends only on the standard library. Get .NET Core for Windows, Linux or macOS and run

dotnet run --configuration Release TextureSynthesis.csproj

more like this

ndwfc

🌊💥 N-dimensional Wave Function Collapse with infinite canvas

JavaScript336

search

search projects, people, and tags