Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 9 » Vorab

Inhaltsverzeichnis

Vorab

Prüfer: Prof. Stamminger
Dauer: 30 min
Note: 1.0

Allgemein: Wie alle vor mir schon berichtet haben, sehr entspannte Prüfung. Es gibt einen Beisitzer, der nur mitschreibt, aber keine Fragen stellt. Die Prüfung ist ein lockerer Dialog mit Prof. Stamminger. Wenn man mal eine Frage nicht versteht, gerade einen Blackout hat, o.ä. hilft er durch Umformulieren der Frage oder Tipps wieder auf die Sprünge. Ich kam an 2-3 Stellen ins Stocken und/oder konnte die Frage nicht beantworten, der Rest lief ziemlich gut

Pruefung

GlobIllum

  • Mit was wollen Sie denn anfangen?
Gerne mit GlobIllum.
  • Gut. Bei GlobIllum haben wir immer ein Integral von dem wir reden. (Prof zeichnet Szene mit Kamera, Punkt x und Hemisphäre um den Punkt inkl. Pfeilen von Punkt x weg.) - Können Sie das mal aufschreiben?
*Schreibe Integral auf und erkläre dabei die einzelnen Komponenten. Vergesse aber die BRDF.*
  • Genau. Und dann haben wir da noch die BRDF…
Ah ups, genau. *Schreibe BRDF noch mit auf und erkläre, dass man nach dieser samplen kann.*
  • Was gibt denn die BRDF an?
Die beschreibt, wie das Licht aus der Richtung win in Richtung wout reflektiert wird.
  • Die beschreibt, wie das Licht aus der Richtung win in Richtung wout reflektiert wird.
Dazu machen wir Monte Carlo Integration, d.h. wir ersetzen das Integral durch eine Summe. Dazu samplen wir an verschiedenen Stellen bzw. verschiedene Richtungen win und teilen die Summe dann wieder durch die Anzahl unserer sample. *Schreibe Monte Carlo Formel auf. Vergesse wieder die BRDF. Hupsi.*
  • Sehr gut – da brauchen wir jetzt auch wieder die BRDF…
Oh, wieder vergessen. *Schreibe BRDF noch mit auf.*
  • Sie haben schon erwaehnt dass man nach der BRDF samplen kann. Wie wuerde man das denn machen? Zum Beispiel fuer eine kleine Lichtquelle? (Zeichnet kleine Lichtquelle mit in die Szene)
*Erkläre mit Skizze, dass man eine PDF haben möchte die ähnlich dem Integranden ist, um die „wichtigen“ Bereiche mehr zu samplen. Zeichne dazu noch den ungefähren „Graph“ für die Lichtquelle.*
  • Was heisst denn ähnlich hier?
Am besten nur durch einen konstanten Faktor abweichend. Dieser wäre c=1/∫f(x).
  • Und wie fließt die PDF dann noch in das Integral ein?
Da wir ja dann in gewissen Bereichen mehr samplen als in anderen, müssen wir das Integral noch durch die PDF teilen, um alles wieder gleich gewichtet zu haben.
  • Sehr gut. Sagen wir jetzt, wir wollen das Licht von einer Environment Map samplen. Wie müssten wir dann das Integral verändern? *Zeichnet Sphere um die Szene ein mit einem Punkt Lenv.*
Hm… da bin ich gerade überfragt, sorry.
  • Da gibt es ja einen geometrischen Term der mit einfließt.
*Ich wusste (und weiß immer noch) nicht auf was er da hinaus wollte haha. Habe dann erklärt, dass es ja wenn man nach der Lichtquelle samplet einen Term G für die Geometrie der Lichtquelle und einen Term V für die Sichtbarkeit gibt.*
  • (War relativ zufrieden mit der Alternativantwort). Und wie würde man das Lenv samplen/einbeziehen?
Man kann vom Punkt x Strahlen aussenden und alle die die Szene verlassen würden, treffen dann auf der Environment Map auf. Von dieser nimmt man dann die Farbe/Helligkeit für den Punkt x.
  • (Leitet irgendwie zum Sampling über. (Bzw kam das teils auch schon vorher, ich weiß nicht mehr wie die Reihenfolge der Fragen war. Aber ich fass mal inhaltlich zusammen…)) Es gibt ja Rejection Sampling. Wie funktioniert das denn?
*Zeichnet Graph und Rechteck drumrum und erklärt Rejection Sampling: samplen aus dem Rechteck, alle die überhalb der Funktion sind werden rejected, nur Samples innerhalb werden akzeptiert.*
  • Das klingt ja wunderbar. Gibt es da aber auch Probleme?
Ja, auf jeden Fall. Man muss das Maximum der Funktion kennen. Und es kann sein dass das sehr groß ist (d.h. ein hoher Peak), dann hätte man ein sehr großes Rechteck und würde sehr viele Samples rejecten, das wäre sehr ineffizient.
  • Ganz genau. *Leitet irgendwann (glaube das war vorher noch) zu Sampling von der Environment Map über.* Kann man die Environment Map denn Importance samplen? Also wenn man die als 2D „Gitter“ gegeben hat? *Zeichnet leeres Rechteck.*
*Zeichne „Zeilen“ und „Spalten“ in das Rechteck.* Ja, dazu bildet man zuerst die Zeilensumme, damit man sozusagen ein 1D Array hat. Dann macht man Inversion Sampling für die Zeilensumme und nochmal jeweils innerhalb jeder Zeile. *Erkläre Inversion Sampling anhand einer Skizze.*
  • Ok, das ist ja jetzt der kontinuierliche Fall. Kann man das auch diskret machen? Also z.B. für den folgenden Fall: *zeichnet ein „Array“ mit den Werten 1,1,7,1*. Wir wollen dann ja dort wo die 7 ist mehr samplen.
*Erkläre das diskrete samplen, sprich Rechtecke übereinander stapeln etc…*
  • Und kann man das kontinuierliche samplen für alle BRDFs machen? Geht es z.B. für Phong?
Hmm… wenn die Frage so gestellt ist – vermutlich nicht haha. Ich kann aber auch nicht sagen wieso nicht. Ein Problem bei der kontinuerlichen Variante ist auf jeden Fall dass man die CDF berechnen und invertieren muss – das geht nicht immer.
  • Naja, das hat vielleicht verwirrt. Es geht tatsächlich für Phong, aber nicht für alle – aus den genannten Gründen.
  • Ok dann gehen wir doch über zur globalen Beleuchtung. (Zeichnet Rechteck mit Kamera die Strahlen durch einen „Pixel“ schießt.) Wie hätten denn die Strahlen einen Beitrag zur Beleuchtung?
*Erkläre, dass die Basis Ray Tracing ist. Dabei haben wir immer Sekundärstrahlen bei jedem Hit usw… Erkläre, dass damit der „Baum“ unten sehr viel breiter wird und wir zu viel Arbeit an der falschen Stelle investieren weil unten ja weniger Beitrag wegen Absorption etc. Besser: Path Tracing d.h. wir gehen nur einen Pfad durch und ein Path entspricht einem Sample.*
  • Sehr gut. Und wie wird der jeweilige Beitrag gemessen? (oder irgendwie so ähnlich war die Frage)
Mit der BRDF?

* Genau. Liefern denn jetzt alle Paths einen Beitrag?

Nein. Paths die niemals die Lichtquelle treffen liefern trotzdem keinen Beitrag. Hierfür kann man Next-Event-Estimation machen, d.h. wir schicken an jedem Hit einen Strahl direkt zur Lichtquelle und separieren sozusagen die direkte Beleuchtung von der indirekten.

Notiz: irgendwann wurde noch nach der Parametrisierung der Hemisphere gefragt, ich weiß nicht mehr genau wann und wie. Da wollte er nur wissen, dass die Variante mit den zwei Winkeln schlecht ist weil mehr Samples an den Polen. Bessere Variante ist mit z und φ.

InCG

Notiz: davon weiß ich leider nicht mehr so viele Fragen… grob gesagt wurden folgende Themen abgefragt:

  • Environment Maps
  • Irradiance Maps
  • Normal Maps (da hatte ich die Wahl zwischen einer der uebrigen Maps) inklusive MIP-Mapping von Normal Maps
  • Skinning (das wurde fuer mich ueberraschen detailliert abgefragt)
  • Tesselation inklusive Displacement Maps