Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 9 » gi_ss18   (Übersicht)

Prüfer: Prof. Stamminger
Dauer: 30 min

Prüfer: Fangen wir mal einfach an: wir haben verschiedene Samplingverfahren besprochen. Welche gab es denn?
Student: Random Sampling, Grid Sampling, Stratified Sampling, Latin-Hypercube, Disk Poisson Sampling (Beim Erklären alle schematisch aufgezeichnet und Vor- und Nachteile der einzelnen Verfahren erklärt. Nach den fünf waren es dann genug erklärte Optionen.)

Prüfer: Ok, was kann denn bei manchen Verfahren für ein Problem auftreten?
Student: Korrelationen, wenn man in mehreren Dimensionen mit dem gleichen Verfahren sampled. Z.B. bei Halton mit gleichen Basen.

Prüfer: Wir wollen das direkte Licht von diesem Punkt ausrechnen, was machen wir? (Skizze gezeichnet)
Student: Da bietet sich das Beleuchtungsintegral über Lichtquellen an (hin geschrieben und die einzelnen Terme erklärt).

Prüfer: Nun zu Importance Sampling. Was ist denn dabei die Idee?
Student: Den Monte-Carlo Estimator durch die Wahl einer guten PDF schneller konvergieren zu lassen. Die PDF sollte dabei möglichst ähnlich zum Integrand f sein. (Monte-Carlo Schätzer aufgeschrieben, Beweis skizziert: ideale PDF sollte theoretisch c*∫ f(x) sein → Einsetzen, dann steht eine Konstante als Integrand im Monte-Carlo-Schätzer → Man hätte theoretisch das Integral mit einem Sample richtig abgeschätzt → Natürlich nur Gedankenspiel, da ∫f(x) ja gesucht ist))

Prüfer: Und was macht man jetzt damit? Zum Beispiel in Bezug auf Phong?
Student: (Nicht verstanden, dass Importance Sampling in der Praxis gemeint war. Also angefangen, Phong-BRDF zu erklären. Wurde dann unterbrochen, Missverständnis war aber gar kein Problem) Rejection Sampling und die Inversion Method sind möglich, um Samples nach der PDF zu ziehen. (Inversion Method genauer erklärt und für diskreten und kontinuierlichen Fall hingemalt)

Prüfer: Was ist denn Pathtracing?
Student: Alternative zu Raytracing, man zieht Pfade als Samples aus einem nD-Integral und kann deswegen besser kontrollieren als beim Raytracen (entspricht gleichförmiger Abtastung des nD-Raums), wo man sampled. Man kann auch Strategien zur Verbesserung einsetzen, wie Russian Roulette (Verfahren erklärt, Formeln hingeschrieben). Next-Event-Estimation wird im Normalfall auch eingesetzt, da beim Pathtracing in Reinform nur Strahlen einen Beitrag leisten, die auch eine Lichtquelle treffen. Daher schießt man an jedem Bounce nochmal direkt zum Licht. (Aufgemalt und erklärt).

Prüfer: OK, super. Was hat es denn mit der Many Lights Methode auf sich?
Student: Das ist eine biased Methode, mit der man die Ligth transport equation (LTE, auch Rendering equation) approximieren kann. Bei sinnvoller Anwendung kommt man damit schneller zu einem guten Ergebnis. Man schießt Strahlen von der/den Lichtquellen aus und erzeugt an jedem Auftreffpunkt ein virtuelles Licht (Vorverarbeitungsschritt). Beim eigentlichen Tracen, sammelt man nach einem Bounce für die Berechnung des indirekten Lichts alle indirekten Lichter ein (Strahlen gegen virtual point lights schießen). (beim Erklären aufgemalt)

Prüfer: Für was braucht man denn Bidirectional Pathtracing?
Student: Bei komplizierten Beleuchtungssituationen praktisch, zum Beispiel wie beim Beispiel mit dem Deckenstrahler aus der Vorlesung, der sehr schwer zu treffen ist. Man schießt Strahlen von den Lichtern und von der Kamera aus los und verbindet diese dann nach beliebig vielen Bounces von beiden Seiten. Dazu muss man von Licht und Kamera aus den Throughput mit berechnen (∏ BRDF*Geometrischer Term über Pfad). Beim Verbinden muss man beachten, dass sich Licht und Kamera sehen sollten und noch den Term BRDF-Kamera-Letzter-Punkt*Geometrischer Term*BRDF-Licht-Letzter-Punkt mit ins gesamt Produkt multiplizieren (aufgemalt).

Prüfer: Ok, kurz haben wir noch Zeit. Was sind denn Lightcuts?
Student: Verfahren, das (auch für viele Lichter) skaliert (z.B nach Many Lights/ähnlichen Verfahren die viele Lichter generieren praktisch). Man möchte bei der Berechnung sparen, indem man Lichter zusammenfasst, möglichst ohne das ein Mensch den Unterschied sieht (Weber's Law: erst ab 1-2% Intensitätsunterschied Fehler bemerkbar). Man baut dazu einen Baum auf allen Lichtern auf, indem man sie nach und nach zu den kleinst möglichen Clustern zusammenfügt. Von jedem Cluster berechnet man dann den Fehler, der durch die Approximation des Clusters durch eine einzelne Lichtquelle entsteht. Für jeden Auftreffpunkt beim Tracen steigt man dann in den Baum ab und findet den passenden Light Cut (Genau ein Cluster entlang eines Pfades bis zum Blatt gewählt). Abbruchkriterien sind z.B., wenn ein Cluster unter die Fehlermarke kommt oder eine max. Tiefe erreicht ist. (Baum hingemalt, Beispielcut eingezeichnet)

FAZIT:

Allgemeines:: Sehr entspannte Atmosphäre und freundlicher Prüfer! Missverständnisse, z.B. wenn man die Frage falsch verstanden hat, gehen auch nicht negativ mit ein. Ergebnis: 1.0

Stofftiefe/Anforderungen:: Beim Sampling wurde ich anfangs aufgefordert, die Verfahren aufzumalen. Danach habe ich mir nach den Fragen immer gleich selber das Blatt geschnappt und mitgezeichnet. Das schien auch ein sehr gute Strategie gewesen zu sein. Wichtige Formeln, wie alle Arten des Beleuchtungsintegrals und der Rendering Equation (LTE) sollte man denke ich parat haben. Explizit wurde ich nach einem direkten Beleuchtungsintegral und dem Monte Carlo Estimator gefragt, also wirklich Kernformeln, die man eigentlich wissen muss, um den Stoff verstanden zu haben. Ich habe außerdem alle Fragen, wo möglich, von mir aus auch mit Formeln untermauert, allerdings kann ich mir vorstellen, dass ich da jetzt nicht explizit danach gefragt worden wäre. Im Vordergrund stand, dass man die Verfahren und Vorgänge verstanden hat, erklären kann und am Besten auch über Probleme und Vorteile Bescheid weiß. Viel von sich aus erzählen ist sicher auch kein Fehler gewesen.

Vorbereitung: Ich hab mir handschriftlich die VL zusammengefasst und damit gelernt. Außerdem habe ich mir das Buch ausgeliehen, auf dem ein Großteil der VL basiert: Physically Based Rendering: From Theory to Implementation. Da sind die Sachen nochmal sehr verständlich und ausführlich erklärt, wo die Folien vielleicht etwas zu knapp sind.