Welche Materialien und Reflexionsmodelle gibt es?
diffus: licht streut in alle richtungen
glänzend: licht streut überwiegend in eine richtung
spiegelnd: licht strahl komplett in eine richtung
Eigenschaften diffuse Reflexion?
Welcher Vektor ist entscheidend für die Darstellung?
was ist ambiente beleuchtung?
simuliert gestreutes Umgebungslicht
Grundlicht, das überall hinkommt
unabhängig von Einfallswinkel des Lichts und Richtung zum Betrachter
Was ist spekuläre reflektion?
Modellierung glänzender Oberflächen
kein Idealer Spiegel, Licht wird überwiegend in Vorzugsrichtung reflektiert
Wesentlich ist der Winkel zwischen idealer Reflektionsrichtung und Betrachterposition
Welche Vektoren gibt es im Reflexionsmodell von Blinn-Phong?
L: Richtung Lichtquelle (zeigt zur Lichtquelle)
N: Oberflächennormale
V: Viewer
R(L): Vorzugsrichtung der Reflektion
H: Halfway Vektor (Hälfte zwischen V und L)
Wie lautet das Phong-Beleuchtungsmodell?
Wie sind die Materialeigenschaften anhand der Tupel für ambient, diffus und spekularer Beleuchtung definiert?
kontrastarm wenn ambient viel größer als diffus und spekulär
matt wenn diffus viel größer als spekulär
spiegelnd wenn spekulär größer als diffus
wie lauten die drei klassischen Schattierungsalgorithmen? (mit Kurzbeschreibung)
Flat Shading
pro dreieck eine farbe
Gouraud Shading
interpolation der Farbwerte
Phong Shading
Interpolation der Normalen über das Dreieck
Reflexionsberechnung pro Pixel mit interpolierter Normale
Was sind Probleme beim Gouraud Shading?
Welchen Vorteil bietet Gouraud gegenüber Flat-Shading
weichere Obeflächen, weniger kantig
Wann bietet Gouraud keinen Vorteil gegenüber Flat-Shading
wenn Farbwerte in allen Eckpunkten gleich
bei sehr großen Polygonen
Welche Vektoren und Winkel sind für die Berechnung der spekularen Beleuchtung entscheidend?
L, R(L) und winkel zwischen R(L) und V
Welche Vektoren und Winkel sind für die Berechnung der diffusen Beleuchtung entscheidend?
L, N und winkel zwischen L und N
Nur L (wird dann gleichmäßig gestreut)
Wie wird im Fragment Shader die ambient Beleuchtung berechnet?
vec3 ambient = 0.2 * color; // color : vec3 mit textur aus texturesample
// 0.2 hier k_a
wird zu output-color addiert
outColor = vec4(ambient + color * ndl + vec3(specComp), 1.);
Wie wird im Fragment Shader die diffuse Beleuchtung berechnet?
float ndl = max(0., dot(vNormalW, lightVectorW));
wird beim output mit Output-color multipliziert
Wie wird im Fragment Shader die spekulare Beleuchtung berechnet?
vec3 angleW = normalize(viewDirectionW + lightVectorW); // winkel zwichen viewer und licht
float specComp = max(0., dot(vNormalW, angleW));
specComp = pow(specComp, 100.);
outColor = vec4(color * ndl + vec3(specComp), 1.);
Last changed9 months ago