예제 #1
0
double normalized_diffusion_profile(
    const double    r,
    const double    l,
    const double    s,
    const double    a)
{
    // Equation 3.
    return a * normalized_diffusion_profile(r, l / s);
}
예제 #2
0
float normalized_diffusion_profile(
    const float     r,
    const float     l,
    const float     s,
    const float     a)
{
    // Equation 3.
    return a * normalized_diffusion_profile(r, l / s);
}
예제 #3
0
float normalized_diffusion_pdf(
    const float     r,
    const float     d)
{
    return
        abs(r) < 1.0e-6f
            ? 1.0f / (2.0f * d)
            : r * TwoPi<float>() * normalized_diffusion_profile(r, d);
}
예제 #4
0
double normalized_diffusion_pdf(
    const double    r,
    const double    d)
{
    return r * TwoPi * normalized_diffusion_profile(r, d);
}
예제 #5
0
float normalized_diffusion_pdf(
    const float     r,
    const float     d)
{
    return normalized_diffusion_profile(r, d);
}