16 float d =
max(Diameter, 0.0);
19 return {13.8 * d * d, 1.1456 * d *
sin(9.29044 * d), 250.0, 0.252977 - 312.983 *
pow(d, 4.3)};
25 float a = (log_d - 0.238604) * (log_d + 1.00667);
26 float b = 0.507522 - 0.15677 * log_d;
27 float c = 1.19692 *
cos(a /
b) + 1.37932 * log_d + 0.0625835;
28 return {0.862 - 0.143 * log_d * log_d,
29 0.379685 *
cos(c) + 0.344213,
31 0.146209 *
cos(3.38707 * log_d + 2.11193) + 0.316072 + 0.0778917 * log_d};
37 float temp =
cos(5.68947 * (
log(log_d) - 0.0292149));
38 return {0.0604931 *
log(log_d) + 0.940256,
39 0.500411 - (0.081287 / (-2.0 * log_d +
tan(log_d) + 1.27551)),
40 7.30354 * log_d + 6.31675,
41 0.026914 * (log_d - temp) + 0.3764};
45 return {
exp(-0.0990567 / (d - 1.67154)),
46 exp(-2.20679 / (d + 3.91029) - 0.428934),
47 exp(3.62489 - 8.29288 / (d + 5.52825)),
48 exp(-0.599085 / (d - 0.641583) - 0.665888)};
closure color scatter(string phase, float Anisotropy, float IOR, float Backscatter, float Alpha, float Diameter)