Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 9 » Prüfungsprotokoll CG, 14. April 2010   (Übersicht)

Prüfungsprotokoll CG, 14. April 2010

ECTS: 7.5

Prüfer: Dr. Grosso

Beisitzer: Prof. Stamminger

Dauer: 30 min

Ergebnis: 1.0

Anmerkung: faire, nette und eigentlich relativ einfache Prüfung (im Unterschied zu manchen anderen, da waren auch massiv schwerere dabei), es dauert manchmal ein bisschen bis man versteht was Grosso meint, aber einfach nachfragen.


* Phong Beleuchtungsmodell

Formel hinschreiben und Bild mit den Vektoren hinmalen.

Dann die einzelnen Terme erklärt (Lambert’s Cosine Law, Phongkeule).

Was macht der ambiente Teil? Er simuliert globale Beleuchtung (da bin ich erst drauf gekommen, nachdem wir nach raytracing nochmal auf die Frage zurückgekommen sind).

Sie haben eine grüne Birne in nur rotem ambienten Licht. Können Sie die Birne sehen? - Nein, weil (kamb = grn) · (Iamb = rot) = 000000 = schwarz

* Shading

Flat, Gouraud und Phong erklärt.

Wie und wo wird interpoliert? linear beim Rasterisieren (erst auf der Kante, dann auf der Scanline) Kommt beim Interpolieren mit baryzentrischen Koordinaten das gleiche heraus? Ja

Ist es beim FlatShading egal an welche Stelle der Fläche man die Berechnung macht? Nein weil sich l, r und v Vektor ändern.

* Raytracing globale Beleuchtung, Schatten.

Die einzelnen Strahlen (primary ray, shadow ray, reflected ray und transmission ray) erklären.

Welche der secondary rays sind rekursiv? refl. und transm. Wie werden die beiden berechnet? refl. einfallswinkel = ausfallswinkel, trans. snells law.

Was macht man dann mit dem shadowray? Schauen ob er auf dem Weg zur Lichtquelle ein anderes Ob jekt triff, dann keine Lichtberechnung.

Wie setzt sich die Beleuchtung an dem getroffenen Pixel zusammen? Licht einsammeln, addieren - L = Lp + R · Lr + T · Lt und T und R zwischen 0 und 1 sind, weil ja nicht irgendwoher mehr als 100% Licht kommen kann.

Geht ja viel rekursiv und viele Schnittpunktberechung, was kann man da verbessern?

  1. Rekursionstiefe limitieren
  2. wenn zu wenig Licht zurückkommt aufhören, weil der Einfluss zu gering wird (R, L < ϵ)
  3. Bounding Volumes (Box oder Sphere), dazu erklären wie man die Schnitte berechnet (implizite Formeln und Gerade einsetzen) - Kugel: 0, 1 (tangente) oder 2 Schnittpunkte
  4. Space Partitioning - AABB - Wie berechnet man hier die Schnittpunkte → mit den einzelnen Ebenen schneiden, die Schnittmengen müssen sich überlappen.

* Texturierung

Wenn man jetzt aber eine komplexe Oberfläche hat, auf die viele verschiedene Farben sollen? Texturierung machen.

Wie kommt die Textur aufs Objekt? Textur → Texturkoordinaten zwischen 0 und 1, dann Ecken des Ob jektes an die Textur binden und Texturkoordinaten interpolieren, dann nearest neighbour oder bilineare Interpolation.

Problem aliasing - undersampling Bild tastet Textur ab, wenn Textur zu gut aufgelöst, gehts kaputt. Lösung ist mipmapping (das musste ich allerdings nicht erklären).

Problem Verzerrung ergibt sich durch Interpolation, erklären wie man perspektivisch interpoliert. Hier hat er noch gefragt, wie das dann beim Gouraud Shading ist - auch nicht perpektivisch korrekt, aber es fällt nicht auf.