input is a heightmap, which is converted to heightmap 256 color (in case of rgba input), then to a normal map, then converted back to heightmap for comparison (using workers here but last step can take time as it's iterative approximation)