Synopsis
Some problems came up with the reflection node in SLIM, the shading normal connection wasn't doing anything and I needed to modify it for some watery reflection, so had to roll my own in a SLBOX.SLBOX code
normal Nf = faceforward (N, I);
vector V = -normalize (I);
point p = transform("object", P);
normal n = transform("object", N + point "object" (0,0,0));
p += normalize(n) * b * amplitude;
p = transform("object", "current", p);
n = calculatenormal(p);
vector D = reflect(normalize(I), normalize(n));
D = vtransform("current", "world", D);
result = Kr * color environment(v8, D) * v9 * v10;
- float b is a fractal noise used to modify the normal.
- color v8 is an environment texture, remember to convert using environment setting.
- color v9 and v10 are just some more noise and/or fresnel functions.
