I'm having a bit of trouble understanding the notation from this paper: http://graphics.cs.aueb.gr/graphics/docs/papers/GraphiCon09_PapadopoulosPapaioannou.pdf

enter image description here

float3 surface = exp(dot(-y, d)) * fromSurface;
float3 viewer = exp(dot(-y, d)) * fromViewer;
float3 final = dot(photonIntensity, dot(mie(0), dot(viewer, surface));

I know I = intensity, mie is mie scattering, but what does the wierd 0 stand for? And what is y? Is d = distance?

Second go at it:

float Attenuation = 130.0;
float MieAnisotropy = 0.7;

float MiePhase(float CosTheta, float Anisotropy)
    const float F = 1.0 / (4.0 * PI);
    return F * ((1.0 - pow(Anisotropy, 2.0)) / pow(1.0 - 2.0 * Anisotropy * CosTheta + pow(Anisotropy, 2.0), 1.5));

float3 ViewPosition = normalize(WorldPosition - CameraPosition);
float CosViewSunAngle = dot(ViewPosition, SunDirection);
float Mie = MiePhase(CosViewSunAngle, MieAnisotropy);

float FromSurface = exp(dot(-Attenuation, DistanceFromSurface));
float FromViewer = exp(dot(-Attenuation, DistanceFromViewer));
float PhotonIntensity = 1.0;
float Final = dot(PhotonIntensity, dot(Mie, dot(FromViewer, FromSurface));
  • 1
    \$\begingroup\$ The weird 0 is a Greek letter theta. The weird y is a Greek letter gamma. The paper should tell you what they are but I'm not going to read it.... \$\endgroup\$ – user253751 Jan 30 '18 at 2:17

Immediately after the first appearance of the equation in the paper, the use of \$\theta\$ is described as

being the angle between the ray direction and the vector from the viewer to the fragment

The use of \$\gamma\$ is first described just above; it

is the medium attenuation parameter

"Medium" in this sense means the substance through which the photon is traveling (not "medium" as in "low, medium, high"), so this is basically a constant for tweaking. Later in the paper, an example value for \$\gamma\$ is given (in the "Implementation Details" section).

And yes, \$d\$ is distance from the respective points.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.