I have been following treads regarding the subject for a while and
I have have worked for a a week or so to implement the BSSRDF
algorithm in renderman shading language. I have actually written and
compiled a shader that simulate one layer of skin but it's not giving
any interesting result. It's actually kind of wacky. So I went through
the paper one more time and realized that may be some of the
that I made weren't correct. I would like to know if there is
someone out there that can kindly verify my theories.
To calculate the diffuse term of the BSSRDF I'm generating a bunch of
point in a plane around P. I'm not compensating for any curvature
reading the paper seemed to me that the all theory olds together
we assume that we are dealing with a flat surface. When I have a new
P I compute equation (4) of the paper and than I use a Monte Carlo
method to approximate the diffuse factor of the BSSRDF function on the
original point P.
I understand that to compute the diffuse light I have to use a dipole
method, but even if I create a light under the surface, what is his
intensity? The intensity of the original light shining at that point?
And even if this is the case, where I have to put it? Equation (4)
doesn't have any light! What is "alpha one" in equation (4) of the
paper? I didn't find any explanation so I assumed that was the reduced
albedo coef ( Reduced scatering/absorption coef).
To calculate the single scattering I calculate the transmitted ray T
the point Xi ( one of my generated points) where the light enter in
the surface . Then, knowing the
thickness of the layer I calculate the lent of T traveling inside the
layer and from there I create a new vector from Xo, where the light
( my original P) to the intersection point of the T vector and the end
of the layer. this new vector is going to became my outgoing
refracted ray where I sample the single scattering term. Does it make
Sorry if all this is terribly wrong or stupid, any help is greatly