#include "H:/vsfx727/library/library.h" displacement test_voronoi3(float Km = 0.1, cellular_seed1 = 1, number_of_cells1 = 0.5, linewidth1 = 0.01, scalesize1 = 5, cellular_seed2 = 1, number_of_cells2 = 0.5, linewidth2 = 0.01, scalesize2 = 5, jitterness = 1; output varying float hump = 0) { float f1; float f2; point pos1; point pos2; float vor2; float seed1 = cellular_seed1; float seed2 = cellular_seed2; normal n = normalize(N); voronoi_f1f2_3d(P * number_of_cells1,jitterness,f1,pos1,f2,pos2,seed1); float scalefactor1 = (distance(pos1,pos2) / (distance(pos1,P) + distance(P,pos2)) / scalesize1); float vor1 = smoothstep(linewidth1 - scalefactor1, linewidth1 + scalefactor1 ,f2 - f1); if(vor1 > 0.5){ voronoi_f1f2_3d(P * number_of_cells2,jitterness * 2,f1,pos1,f2,pos2,seed2); float scalefactor2 = (distance(pos1,pos2) / (distance(pos1,P) + distance(P,pos2)) / scalesize2); vor2 = smoothstep(linewidth2 - scalefactor2, linewidth2 + scalefactor2 ,f2 - f1); }else{ vor2 = 1; } float hump = vor2; printf("%f\n",hump); point Ndiff; Ndiff = normalize(N) - normalize(Ng); P += vor1 * vor2 * Km * n; N = normalize(calculatenormal(P)) + Ndiff; }