Perception-driven procedural texture generation from examples