dimanche 15 novembre 2015

Changes between Phong's 1973 paper, and 1975 article

I am currently learning about Phong's reflection model as part of a graphics module at university.

I've managed to find a copy of Phong's original 1973 paper in which he describes his model, and also a copy of the article he wrote in 1975 for ACM summerising his work.

But there is a major difference between the two equations he presents. The first -- and original -- description (found as equation 4.5) is written as:

/* Sp: ... */
float Sp(float Cp, float i, float d, float s, float n)
{
    return Cp * (cos(i) + d) + W(i) * pow(cos(s), n);
}

But, is then different in it's second appearance (found as equation 3); written as:

/* Sp: ... */
float Sp(float Cp, float i, float d, float s, float n)
{
    return Cp * (cos(i) * (1 - d) + d) + W(i) * pow(cos(s), n);
}

The difference being the interaction between the environmental diffuse light, d, (that I'm assuming translates to ambient in modern representations), and the diffuse light reflected at an incident angle i.

In his original paper Phong steps through his reasoning and presents d, as a ratio of the overall energy from the light in a scene: d = ed / ei (moving from equation 3.7, to 3.8). This makes it quite clear how cos(i) + d is generated from the commonly seen Er = Edr + Esr + Ed.

However, in his 1975 the equation is presented without explaination, which is understandable, but is changed without clarification.

What am I missing, why was this change made, and how does this affect the overall calculation?





Aucun commentaire:

Enregistrer un commentaire