/usr/share/radiance/adobe.cal is in radiance-materials 4R1+20120125-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | {
Adobe texture.
Applies to any large, flat surface.
A1 - overall magnitude
}
{ Basic texture is scaled gradient of 3D Perlin noise function.
Additional perturbation is added when in_crack is true. }
dx = A1 * noise3a(Px, Py, Pz) + if(in_crack, cdx, 0);
dy = A1 * noise3b(Px, Py, Pz) + if(in_crack, cdy, 0);
dz = A1 * noise3c(Px, Py, Pz) + if(in_crack, cdz, 0);
{ First, compute crack coordinate system, which is at 3 times original
bump scale and has additional fractal noise through in for irregularity
over an even larger scale. }
fn3 = fnoise3(Px, Py, Pz);
cu = Px/3 + fn3/30;
cv = Py/3 + fn3/30;
cw = Pz/3 + fn3/30;
{ Test in_crack returns true (positive) when sum of [-1,1] Perlin noise in
crack coordinate system is about -.4 times the fractal noise function at
the same point. }
in_crack = inside(-.02, noise3(cu, cv, cw) + .4*fnoise3(cu, cv, cw), .02);
{ Final crack perturbation is 5 times as large as normal gradient at that
point in Perlin function, meaning it will yank the surface normal one way
or the other along that wiggly line where in_crack is true, yielding an
apparent discontinuity in the surface. }
cdx = 5*A1*noise3a(cu, cv, cw);
cdy = 5*A1*noise3b(cu, cv, cw);
cdz = 5*A1*noise3c(cu, cv, cw);
|