Beleuchtungsmodell von Phong
-
Hallo zusammen. Ich möchte mich in das o.g. Gebiet einarbeiten und suche gute Quellen, die das Verfahren etwas detailierten beschreiben (also konkret zur Berechnung, möglichst mit Beispielen etc..). Irgendwie spuckt google nur Links aus, die die ganze Sache nur oberflächlich beschreiben..
Vielen Dank für eure Hilfe,
Lacos
-
man interpoliert pro pixel die normale und berechnet damit die lichtintensität... was genau ist dir bei dieser oberflächlichen definition unklar?
rapso->greets();
-
Mir geht es um die Berechnung.. D.h. wie ich z.B. die Intensität berechne..
-
die intensität wird immer gleich berechnet. meißt ist es der cosinus der interpolierten normale und des lichtvectors, manchmal mußt du den reflektionsvector errechnen (vereinfacht geht das auch mit der halbnormale) und dessen cosinus mit dem lichtvector exponenziert dann draufaddiert wird auf die normale lichtintensität.
an sich ist phong genau wie gouround mit dem unterschied dass pro pixel und nicht nur pro vertex die beleuchtung errechnet wird. weißt du wie das pro vertex geht, mußt du es lediglich pro pixel machen... fertig.
rapso->greets();
-
Achso ok..
Noch eine kurze Frage: Wie berechnet man z.B. am besten den Reflexionsvektor zum (normierten) Richtungsvektor einer Lichtquelle?Ist so etwas ok, oder geht es noch besser?
r = Reflektionsvektor;
n = normale;
x = Richtungsvektor zur Lichtquelle (normiert);r(x) = x - 2(x*n)n;
-
Willst du jetzt eigentlich Phong Shading erklärt bekommen, wie es Rapso teilsweise gemacht hat, oder das Modell von Phong zur Intensitätsberechnung? Wenn es doch letzteres ist, kann ich dir nur soviel sagen: So wichtig und toll ist das nicht, man kommt durch nachdenken eigentlich selbst auf solche Modelle, ich verwende z.B. grade dieses:
vec3 color = ((ambient + attenuation_factor) * light_color * (diffuse + vec3(specular)) + glow_value * tex_col ) * obj_color;
wobei tex_color die eigentliche Farbe des Pixels ist, diffuse diese Farbe mit der Lichthelligkeit multipliziert und obj_color eine Farbe zum einfärben.
Dieses Modell scheint seinen Zweck zu erfüllen, und ist dem von Phong bestimmt ähnlich.
-
Sorry dass ich mich vielleicht unverständlich ausgedrückt habe aber ich will das Modell von Phong zur Intensitätsberechnung nutzen bzw. eher verstehen..
Hat vielleicht jemand ein kleines Beispiel wie man da die Berechnungen durchführt etc.. ??
-