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

Prüfungsprotokoll für CG 2014 (März) - 7.5 ECTS

Prüfer: Prof. Stamminger

Dauer: 30 min.

Note: 1.x


Anmerkungen:

Sehr lockere Stimmung. Es kam bei mir mehr auf Verständnisfragen an, als etwas vorzurechnen. Sehr wenige Grundlagen abgefragt, es ging eigentlich direkt ans Eingemachte. Meiner Meinung nach macht es schon einen Unterschied ob man die Programmierübung, sprich 7,5 ECTS gemacht hat, zumindest kamen bei mir dazu 2 Fragen!


Rasterisierung:

Eigentlich habe ich zunächst mal bisschen Lighting erwartet, kam jedoch gar nicht dran. Es wurde dann eingeleitet mit: „Wie funktioniert denn Scanline?“ Habe dann erklärt wofür man es brauch und welche Datenstrukturen nötig sind (ET, AET). Auch wichtig, was drin gespeichert wird und wie dann der Algorithmus abläuft. (Kein Vorrechnen, sondern exemplarisch)

Shading:

Dann ging es direkt weiter mit: „Gut jetzt haben wir das Dreieck rasterisiert, wie bekommt man da jetzt Farbe rein?“ - „Flat-Shading, Gouraud-Shading, Phong-Shading“ - „Wie funktionieren die Shader?“ Hab dann die Shader erklärt, wie man zur Farbe über Normalen und Interpolation kommt. Pluspunkt war glaube ich, dass ich selbsständig auch Nachteile der Methoden genannt habe, wie z.B. Machband-Effekt bei Flat-Shading, man kann die Prüfung also auch zu eigenen Gunsten etwas lenken um positive Eindrücke zu vermitteln.

Z-Buffer, Transparency:

Als nächstes wurde dann übergeleitet mit: „Was macht man nun wenn man überlappende Objekte hat?“ - „Mit Z-Buffer Tiefe einbeziehen“ - „Wie funktioniert das?“ Dann erstmal Z-Buffer erklärt (nur grob). „Was passiert nun mit transparenten Objekten?“ - „Muss man aufpassen, wegen Nicht-Kommutativität“

Ray-Tracing, Shading:

Dann gings ans Ray-Tracing, auch hier wenig Grundlagen, sondern direkter Sprung ins Tiefe. „Jetzt wissen wir wie das mit Rasterisierung geht, was macht man mit so einem Triangle-Fan, wenn man einen Ray-Tracer benutzt? (Zeichnet hin)“ Hier dann zunächst Ray-casting erklärt, dann Unterschied zu Ray-Tracing und wie der Strahl auf das Dreieck „geschossen“ wird. Dann kurz Schnitt Dreieck/Ray erklären, was passiert wenn det(M)=0? Dreieck degeneriert, oder Ray parallel zu Dreieck. „Wie bekommt man nun die Normale auf dem Dreieck zum shaden?“ - Zunächst geantwortet mit Kreuzprodukt aus den Ebenenvektoren, er wollte jedoch auf was andres hinaus (Weiß ich nicht mehr). Dann wurde ich etwas überrascht mit einer Frage wo man jetzt einen Shader implementiert, wenn man das Pixel- und Vertexshadermodul gegeben hat. Da stand ich etwas auf dem Schlauch. Er wollte dann aber hören, dass man im Vertexshader die Normalen interpoliert und im Pixelshader dann die Farbe berechnet.

Dann wollte er noch etwas zur letzten Programmierübung fragen: „Wir haben in der letzten Übung jede Menge Kugeln in der Szene gehabt. Beim Rendern hat sich herausgestellt, dass Rasterisierung deutlich langsamer war, als Ray-Tracing, wieso?“ Habe dann erklärt, dass Ray-Tracing gegen Kugeln sehr effizient ist. Bei Rasterisierung hat man das Problem, dass die Kugel erst in Dreiecke diskretisiert werden muss, bevor man sie rasterisieren kann. Dadurch dann schlechtere Performance.

Fazit:

Faire Prüfung, entspannte Atmosphäre. War nur etwas unerwartet, dass Fragen mit Bezug zu den Programmierübungen dran kam, die waren aber auch nicht weltbewegend.