import art def voronoishader(x, y): c, C = art.voronoinoise2d((x * 16.0, y * 16.0)) C = art.tilenoise2d(C) # remap domain from (-1,1) to (0,1) for output return (C[0] * 0.5 + 0.5, C[1] * 0.5 + 0.5, C[2] * 0.5 + 0.5) if "__main__" == __name__: art.render(voronoishader, "example_004.png", 256, 196, 4)
import art def tileshader(x, y): C = art.tilenoise2d((x * 16.0, y * 16.0)) assert 3 == len(C) # remap domain from (-1,1) to (0,1) for output return (C[0] * 0.5 + 0.5, C[1] * 0.5 + 0.5, C[2] * 0.5 + 0.5) if "__main__" == __name__: art.render(tileshader, "example_001.png", 256, 196, 4)
import art def simshader(x, y): C = art.simnoise3d((x * 16.0, y * 16.0, 0.5)) return (C[0] * 0.5 + 0.5, C[1] * 0.5 + 0.5, C[2] * 0.5 + 0.5) if "__main__" == __name__: art.render(simshader, "example_006.png", 256, 196, 4)
import art def distance(A,B): return max(abs(a-b) for a,b in zip(A,B)) def shader(x, y): P = (x*16.0, y*16.0) c, C = art.voronoinoise2d(P, distance) return (c,c,c) if "__main__" == __name__ : art.render(shader, "example_011.png", 256, 196, 4)
import art def noiseshader(x, y): C = art.valuenoise2d((x * 16.0, y * 16.0)) assert 3 == len(C) # remap domain from (-1,1) to (0,1) for output return (C[0] * 0.5 + 0.5, C[1] * 0.5 + 0.5, C[2] * 0.5 + 0.5) if "__main__" == __name__: art.render(noiseshader, "example_002.png", 256, 196, 4)
import art def shader(x, y): P = (x * 44.0, y * 2.0) # high frequency signal dP = art.simnoise2d( (13.5 + x * 1.3, 23.5 + y * 1.3)) # low frequency signal P = art.addV(dP, P) # dP added to P c, C = art.voronoinoise2d(P) brown1 = (0.5, 0.4, 0.05) brown2 = (0.35, 0.27, 0.03) return art.mixV(brown1, brown2, c) if "__main__" == __name__: art.render(shader, "example_013.png", 256, 196, 8)