forked from: f1: perlin noise xor

